您好,欢迎来到爱站旅游。
搜索
您的当前位置:首页C语言程序设计试卷(A卷)

C语言程序设计试卷(A卷)

来源:爱站旅游
实用标准文档

学号: : 学生姓名 年级: 专业: : 系) 院(

文案大全

《C语言程序设计》 -----期末考试试卷(A卷) ----- ------课程名称 C语言程序设计 课程编号 84810005 任课教师 ------------ --------题型 单选题 填空题 阅读题 编程题 总分 -----------分值 30 26 24 20 100 ----------得分 线 ------------得分 评阅人 ----一、单选题:(共30题,每题1分,共30分) ----- -------- 封 1、在计算机内一切信息的存取、传输和处理都是以( )形式进行的。 --A. ASCII码 B. 二进制 C. 十进制 D. 十六进制 ----- ----2、下列无符号整数中最大的数是( )。 ------A. (10100011)2 B. (FF)16 C. (237)8 D. 789 ---- -----3、 一个C语言程序是由( )。 ----A. 一个主程序和若干子程序组成 B. 函数组成 ----密 C. 若干过程组成 D. 若干子程序组成 --4、 下面四个选项中,均是不合法的用户标识符的选项是( )。 -------A. A P_0 do B. float la0 _A -----C. b-a sizeof int D. _123 temp int ---- -----5、 下面四个选项中,均是不合法的转义字符的选项是( )。 ----A. '\\\"' '\\\\' '\\xf' B. '\\1011' '\\' '\\ab' -----C. '\\011' '\\f' '\\}' D. '\\abc' '\\101' 'xlf' ------ -----6、 下面程序段输出结果是( )。 ----int i = 5, k; -- k = (++i) + (++i) + (i++); printf (\"%d,%d\A. 24,8 B. 21,8 C.21,7 D. 24,7 实用标准文档

文案大全

7、若有定义: int k = 7, x = 12;,则能使值为3的表达式是( )。 A. x %= (k %= 5) B. x %= (k – k % 5) C. x % = k – k % 5 D. (x %= k) - (k %= 5) 8、 若有说明语句:int a, b;,用户的输入为111222333,结果a的值为111,b的值为333,那么以下输入正确的语句是( )。 A. scanf (\"%*3d%3c%3d\ B. scanf (\"%3d%*3c%3d\C. scanf (\"%3d%3d%*3d\ D. scanf (\"%3d%*2d%3d\ 9、对于条件表达式(k) ? (i++) : (i--)来说,其中的表达式k等价于( )。 A. k == 0 B. k == 1 C. k != 0 D. k != 1 10、 若a、b、c1、c2、x、y均是整型变量,正确的switch语句是( )。 A. swich (a + b); B. switch (a * a + b * b) { { case 1: y = a + b; break; case 3; case 0: y = a - b; break; case 1: y = a + b; break; case 3: y = b - a, break; } } C. switch a D. switch (a - b) { { case c1: y = a - b; break default: y = a * b; break case c2: x = a * d; break case 3: case 4: x = a + b; break default: x = a + b; case 10: case 11: y = a - b; break; } } 11、 下面程序的运行结果是( )。 #include void main ( ) { int y = 10; do { y--; } while (--y); printf (\"%d\\n\ } A. -1 B. 1 C. 8 D. 0 12、 下面程序段的运行结果是( )。 x = y = 0; while (x < 15) y++, x += ++y; printf (\"%d, %d\A. 20, 7 B. 6, 12 C. 20, 8 D. 8, 20 第 1 页(共 6 页)

实用标准文档

文案大全

13、以下程序中,while循环的循环次数是( )。 int i = 0; ---while (i < 10) ----{ ------if (i < 1) continue; ----if (i == 5) break; ------i++; ----} ----A. 1 B. 10 C. 6 D. 死循环,不能确定次数 ------ ----14、设有数组定义: char array[ ] = \"China\"; 则数组 array所占的空间为( )。 ------A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节 ---- ----15、以下不能正确进行字符串赋初值的语句是( )。 --线 A. char str[5] = \"good!\"; B. char str[ ] = \"good!\"; -C. char str[8] = \"good!\"; D. char str[5] = {'g', 'o', 'o', 'd'}; ---- ------16、 以下程序的输出结果是( ) ----void main ( ) ------{ ----char st[20] = \"hello\\0\\\\\\\\"; ----printf (%d %d \\n\封 } ---A. 9 9 B. 5 20 C. 13 20 D. 20 20 ------ ----17、以下正确的说法是( )。 ----A. 定义函数时,形参的类型说明可以放在函数体内。 ------B. return后边的值不能为表达式。 ----C. 如果函数值的类型与返回值类型不一致,以函数值类型为准。 ----D. 如果形参与实参类型不一致,以实参类型为准。 ---密 18、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( )。 ------A. 自动(auto) B. 静态(static) ----C. 外部(extern) D. 寄存器(register) ---- ------19、 下面能正确进行字符串赋值操作的是( )。 ----A. char s[5] = {\"ABCDE\ B. char s[5] = {'A', 'B', 'C', 'D', 'E'}; ------C. char *s;s = \"ABCDE\"; D. char *s; scanf (\"%s\---- ----20、 若有下面的程序段,则下列叙述正确的是( )。 ------char s[ ] = \"china\"; char *p; p = s; -----A. s和p完全相同 B. 数组s中的内容和指针变量p中的内容相等 C. s数组长度和p所指向的字符串长度相等 D. *p与s[0]相等 实用标准文档

文案大全

21、 设已有定义: char *st = \"how are you\"; 下列程序段中正确的是( )。 A. char a[11], *p; strcpy (p = a + 1, &st[4]); B. char a[11]; strcpy (++a, st); C. char a[11]; strcpy (a, st); D. char a[ ], *p; strcpy(p = a[1], st + 2); 22、若指针p已正确定义,要使p指向两个连续的短整型动态存储单元,不正确的语句是( )。 A. p = 2*(short *) malloc (sizeof(short)); B. p = (short *) malloc (2*sizeof(short)); C. p = (short *) malloc (2*2); D. p = (short *) calloc(2, sizeof(short)); 23、 从下列选项中选择不会引起二义性的宏定义是( )。 A. #define POWER (x) x * x B. #define POWER (x) (x) * (x) C. #define POWER (x) (x * x) D. #define POWER (x) ((x) * (x)) 24、 根据下面的定义,能打印出字母 M 的语句是( )。 struct person { char name[9]; int age; }; struct person class[10] = {\"John\A. printf (\"%c\\n\ B. printf (\"%c\\n\C. printf(\"%c\\n\ D. printf (\"%c\\n\ 25、 以下程序的输出是( )。 struct st { int x; int *y;} *p; int dt[4] = {10, 20, 30, 40 }; struct st aa[4]={ 50, &dt[0], 60, &dt[0], 60, &dt[0], 60, &dt[0] }; void main ( ) { p = aa; printf (\"%d\\n\} A. 10 B. 11 C. 51 D. 60 26、 以下程序的输出是( )。 union myun { struct { int x, y, z;} u; int k; } a; void main ( ) { a.u.x = 4; a.u.y = 5; a.u.z = 6; a.k = 0; printf (%d\\n\} A. 4 B. 5 C. 6 D. 0 第 2 页(共 6 页) 实用标准文档

--- ------ --- ------ ---- ----- ---- ------ ----- ---- ----- -- ---- 线 -- ---- ----- ---- ----- ----- ---- 封 --- ----- ---- ----- ----- ------ ---- -- 密 ------ ---- ----- ---- ------ ----- ---- ----- -- --- -----

文案大全

27、 函数 rewind 的作用是( )。 A. 使位置指针重新返回文件的开头 B. 将位置指针指向文件中所要求的特定位置 C. 使位置指针指向文件的末尾 D. 使位置指针自动移至下一个字符位置 28、 函数调用语句:fseek(fp, -20L, 2);的含义是( )。 A. 将文件位置指针移到距离文件头20个字节处 B. 将文件位置指针从当前位置向后移动20个字节 C. 将文件位置指针从文件末尾处退后20个字节 D. 将文件位置指针移到离当前位置20个字节处 29、 设有以下结构体类型: struct st { char name[8]; int num; float s[4]; } student[50]; 并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件fp中,以下不正确的形式是( )。 A. fwrite (student, sizeof(struct st), 50, fp); B. fwrite (student, 50*sizeof(struct st), 1, fp); C. fwirte (student, 25*sizeof(struct st), 25, fp); D. for (i = 0; i < 50; i++) fwrite (student+i, sizeof(struct st), 1, fp); 30、 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是( )。 A. fopen (\"A:\\abc.txt\ B. fopen (\"A:\\\\\\abc.txt\C. fopen (\"A:\\abc.txt\ D. fopen (\"A:\\\\\\abc.txt\ 实用标准文档

文案大全

得分 评阅人 二、填空题:(共6题,每空2分,共26分) 31、 以下程序是实现在M行N列的二维数组中,找出每一行上的最大值。请将程序补充完整 #define M 3 #define N 4 void main ( ) { int x[M][N] = {1, 5, 7, 4, 2, 6, 4, 3, 8, 2, 3, 1}; int i, j, p; for (i = 0; i < M; i++) { p = 0; for (j = 1; j < N; j++) if (x[i][p] < x[i][j]) (1) ; printf (\"The max value in line %d is %d\\n\ (2) ); } } 32、下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。 #include void main ( ) { int i, j; for (i = 0; (3) ; i++) { j = i * 10 + 6; if ( (4) ) continue; printf (\"%d\} } 第 3 页(共 6 页)

实用标准文档

--- ------ --- ------ ---- ----- ---- ------ ----- ---- ----- -- ---- 线 -- ---- ----- ---- ----- ----- ---- 封 --- ----- ---- ----- ----- ------ ---- -- 密 ------ ---- ----- ---- ------ ----- ---- ----- -- --- -----

文案大全

33、下面程序的功能是将键盘输入的字符串str中的所有'c'字符用'C'替换。请将程序补充完整。 #include #include void main ( ) { int i; char str[80]; gets (str); for (i = 0; (5) ; i++) { if (str[i] != 'c') (6) ; str[i] = 'C'; } printf (\"%s\\n\} 34、下面程序的功能是实现数组元素中值的逆转。 #include void invert(int *s,int num); void main() { int i, n=10, a[10]={1,2,3,4,5,6,7,8,9,10}; invert( a, n-1 ); for ( i=0;i<10;i++ ) printf(\"%4d\; printf(\"\\n\"); } void invert(int *s,int num) { int *t, k; t = s+num; while ( (7) ) { k=*s; *s=*t; *t=k; (8) ; (9) ; } } 实用标准文档

文案大全

35、下面程序的功能是输入学生的姓名和成绩,然后输出。 #include struct stuinf { char name[20]; /* 学生姓名 */ int score; /* 学生成绩 */ } stu, *p; main ( ) { p = &stu; printf( \"Enter name:\" ); gets( (10) ); printf( \"Enter score: \" ); scanf( \"%d\", (11) ); printf( \"Output: %s, %d\\n\",p->name,p->score ); } 36、下面程序的功能是统计文件中的字符的个数。 #include main() { long num=0; (12) *fp; if ( (fp=fopen(\"fname.dat\{ printf(\"Can't open the file! \"); exit(0); } while ( (13) ) { fgetc( fp ); num++; } printf( \"num=%d\\n\; fclose( fp ); } 第 4 页(共 6 页)

实用标准文档

--- ---- ----- ------ ---- ----- ---- ------ ----- ----- ---- --- --- 线 -- ---- ----- ----- ---- ----- ---- 封 --- ----- ----- ---- ----- ------ ---- -- 密 ------ ---- ----- ---- ------ ----- ----- ---- --- -- -----

文案大全

得分 评阅人 三、阅读题:(共6题,每题4分,共24分) 37、下面程序的输出结果是 (1) 。 void main ( ) { int a, b; for (a = 1, b = 1; a <= 100; a++) { if (b >= 10) break; if (b % 3 == 1) { b += 3; continue; } } printf (\"a=%d\\n\} 38、 以下程序的输出结果是 (2) 。 main() { int a=0,b=1,c=0,d=20; if ( a ) d=d-10; else if ( !b ) if ( !c ) d=15; else d=25; printf( \"d=%d\\n\; } 实用标准文档

文案大全

39、 下面程序的输出结果是 (3) 。 main() { int i,j,x=0; for (i=0;i<2;i++) { x++; for ( j=0;j<-3;j++ ) { if ( j%2 ) continue; x++; } x++; } printf( \"x=%d\\n\; } 40、 下面程序的输出结果是 (4) 。 #include main( ) { int n[3][3], i, j; for(i=0;i<3;i++ ) for(j=0;j<3;j++ ) n[i][j] = i+j; for(i=0;i<2;i++ ) for(j=0;j<2;j++ ) n[i+1][j+1] += n[i][j]; printf( \"%d\\n\; } 41、下面程序的输出结果是 (5) 。 void ss (char *s, char t) { while (*s) { if (*s == t) *s = t - 'a' + 'A'; s++; } } void main ( ) { char str1[100] = \"abcddfefdbd\ss (str1, c); printf (\"%s\\n\} 第 5 页(共 6 页)

实用标准文档

--- ---- ----- ------ ---- ----- ---- ------ ----- ----- ---- --- --- 线 -- ---- ----- ----- ---- ----- ---- 封 --- ----- ----- ---- ----- ------ ---- -- 密 ------ ---- ----- ---- ------ ----- ----- ---- --- -- -----

文案大全

42、下面程序的输出结果是 (6) 。 #include \"stdio.h\" struct str1 { char c[5]; char *s; }; main( ) { struct str1 s1[2] = { {\"ABCD\",\"EFGH\,{\"IJK\",\"LMN\; struct str2 { struct str1 sr; int d; } s2 = { \"OPQ\",\"RST\",32767 }; struct str1 *p[2]; p[0]=&s1[0]; p[1]=&s1[1]; printf( \"%s\\n\",++p[1]->s ); printf( \"%c\",s2.sr.c[2] ); } 得分 评阅人 四、编程题:(共2题,每题10分,共20分) 43、编程计算a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。 44、 求编写一函数strlshif (char *s, int n),其功能是把字符串s中的所有字符左移n个位置,串中的前n个字符移到最后。 实用标准文档

文案大全

第 6 页(共 6 页)

实用标准文档

--- ---- ----- ------ ---- ----- ---- ------ ----- ----- ---- --- --- 线 -- ---- ----- ----- ---- ----- ---- 封 --- ----- ----- ---- ----- ------ ---- -- 密 ------ ---- ----- ---- ------ ----- ----- ---- --- -- -----

文案大全

答题纸 一、 单选题 01: 02: 03: 04: 05: 06: 07: 08: 09: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 二、 填空题 31: 空格1: 空格2: 32: 空格3: 空格4: 33: 空格5: 空格6: 34: 空格7: 空格8: 空格9: 35: 空格10: 空格11: 36: 空格12: 空格13: 三、 阅读题 37:结果为: 。 38:结果为: 。 39:结果为: 。 40:结果为: 。 41:结果为: 。 42:结果为: 。 实用标准文档

文案大全

四、编程题 43、程序如下: 44、程序如下: 第 1 页(共 1 页)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- azee.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务