1、北理工C 语言程序设计在线作业一、单选题(共 40 道试题,共 80 分。 )1. 若在键盘上输入:283.1900,想使单精度实型变量 c 的值为 283.19,则正确的输入语句是( ) 。A. scanf(“%f“,B. scanf(“8.4f“,C. scanf(“%6.2f“,D. scanf(“8f“,正确答案:2. 下列说法中正确的是( ) 。A. break 用在 switch 语句中,而 continue 用在循环语句中。B. break 用在循环语句中,而 continue 用在 switch 语句中。C. break 能结束循环,而 continue 只能结束本次循环。D.
2、 continue 能结束循环,而 break 只能结束本次循环。正确答案:3. 已知: structint i; char c; float a; test; 则 sizeof(test)的值是( ) 。A. 4B. 5C. 6D. 7正确答案:4. 下面描述中,不正确的是( ) 。A. 递归法的关键是必须有一个递归终止的条件。B. 递归算法要求语言具有反复自我调用子程序的能力。C. 对于同一个问题,递推算法比递归算法的执行时间要长。D. 递推算法总可以转换为一个递归算法。正确答案:5. 执行下面的语句后 x 的值为( ) 。int a=14,b=15,x;char c=A;x=(afor(
3、;ab;+b)i+;while(a +c)j+;do k+;while(ad+);A. j=5,i=4,k=6;B. i=5,j=4,k=6;C. j=6,i=5,k=7D. j=6,i=6,k=6;正确答案:8. C 语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是( ) 。A. 地址传递B. 值传递C. 由实参传给形参,并由形参传回给实参D. 由用户指定传递方式正确答案:9. 若有 char a80,b80;则正确的是( ) 。A. puts(a,b);B. printf(“%s,%s”a ,b );C. putchar(a,b);D. puts(a);puts(b);正确
4、答案:10. 已知:int x=1,y=2,z;则执行 z=xy?+x:+y;则 z 的值为( ) 。A. 1B. 2C. 3D. 4正确答案:11. 执行以下程序段后,a ,b,c 的值分别是( ) 。int a,b=100,c,x=10,y=9;a=(-x= =y+)?x:+y; if(x0 “ 的含义是( ) 。A. p 是一个指向一维数组的指针变量B. p 是一个指针变量,指向一个整型数据C. p 是一个指向函数的指针,该函数的返回值是一个整型D. 以上都不对正确答案:24. main(argc,argv )中形式参数 argv 的正确说明形式应当为( ) 。A. char *argv
5、 B. char argv C. char argv D. char *argv正确答案:25. 在以下对 C 语言的描述中,正确的是( ) 。A. 在 C 语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参B. C 语言函数既可以嵌套定义又可以递归调用C. 函数必须有返回值,否则不能使用函数D. C 语言程序中有定义关系的所有函数都必须放在同一源文件中正确答案:26. C 编译系统提供了对 C 程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是( ) 。A. 编辑和编译B. 编译和连接C. 连接和运行D. 编辑和运行正确答案:27. 以下程序的输出结果是(
6、) 。main()int i,x33=1,2,3,4,5,6,7,8,9; for(i=0;i4;i-)s=0.0; for(j=i;j3;j-)s=s+i*j; printf(“%f ”,s);A. 135.000000B. 90.000000C. 45.000000D. 60.000000正确答案:32. 以下对 C 语言中联合类型数据的正确叙述是( ) 。A. 一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员B. 一个联合变量中可以同时存放其所有成员C. 一个联合变量中不能同时存放其所有成员D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中
7、正确答案:33. 若 int x;则执行下列程序段后输出是( ) 。for(x=10;x3;x-)if(x%3)x-;-x;-x;printf(“%d”,x); A. 63B. 74C. 62D. 73正确答案:34. 已知:char s10,*p=s ,则在下列语句中,错误的语句是( ) 。A. p=s+5;B. s=p+s;C. s2=p4;D. *p=s0;正确答案:35. 以下程序的输出结果是( ) 。main()int i,k,a10,p3;k=5;for(i=0;iy)z=x; x=y; y=z;A. 10,20,30B. 20,30,30C. 20,30,10D. 20,30,2
8、0正确答案:37. 若 int a,b,c;则为它们输入数据的正确的语句是( ) 。A. read(a,b,c);B. scanf(“%d%d%d“,a,b,c);C. scanf(“%D%D%D“,D. scanf(“%d%d%d“,正确答案:38. 利用 fseek 函数可以( ) 。A. 改变文件的位置指针B. 实现文件的顺序读写C. 实现文件的随机读写D. 以上答案均正确正确答案:39. 已知:struct skint a;float b; data,*p;若有 p=scanf(“%s”,B. char s5;scanf(“%s”,s);C. char s5;scanf(“%s”,D.
9、 char s5;gets(s);正确答案:北理工C 语言程序设计在线作业二、判断题(共 10 道试题,共 20 分。 )1. 设有变量定义 char s=”hello”,则数组中有 6 个元素。A. 错误B. 正确正确答案:2. 结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。A. 错误B. 正确正确答案:3. 在标准 C 语言中,所有函数在调用之前都要进行声明。A. 错误B. 正确正确答案:4. 在 C 语言中,逻辑表达式中只允许出现逻辑型数据。A. 错误B. 正确正确答案:5. 在 C 语言中,for 语句后的三个表达式必须都出现。A. 错误B. 正确正确答案:6. “A“是
10、一个字符常串量。A. 错误B. 正确正确答案:7. “%”运算两侧的数据可以是任意类型的数据。A. 错误B. 正确正确答案:8. 在标准 C 语言中,可以用 typedef 定义类型,所以用 typedef 可以增加 C 语言的数据类型。A. 错误B. 正确正确答案:9. 在 C 语言中,以“r”方式不能打开并不存在的文件。A. 错误B. 正确正确答案:10. 在标准 C 语言中,在定义带参数的宏时也要定义参的类型。A. 错误B. 正确正确答案:北理工C 语言程序设计在线作业一、单选题(共 40 道试题,共 80 分。 )1. C 编译系统提供了对 C 程序的编辑、编译、连接和运行环境,以下可
11、以不在该环境下进行的环节是( ) 。A. 编辑和编译B. 编译和连接C. 连接和运行D. 编辑和运行正确答案:2. 不能正确为字符数组输入数据的是( ) 。A. char s5;scanf(“%s”,B. char s5;scanf(“%s”,s);C. char s5;scanf(“%s”,D. char s5;gets(s);正确答案:3. 要判断 char 型变量 m 是否是数字字符,可以使用下列表达式( ) 。A. 00x-)if(x%3)x-;-x;-x;printf(“%d”,x); A. 63B. 74C. 62D. 73正确答案:10. 以下程序的输出结果是( ) 。main(
12、)int i,k,a10,p3;k=5;for(i=0;iy)z=x; x=y; y=z;A. 10,20,30B. 20,30,30C. 20,30,10D. 20,30,20正确答案:13. 已知:int a,*p= 则下列函数调用中错误的是( )A. scanf(“%d“,B. scanf(“%d“,p);C. printf(“%d“,a);D. printf(“%d“,p);正确答案:14. 若在键盘上输入:283.1900,想使单精度实型变量 c 的值为 283.19,则正确的输入语句是( ) 。A. scanf(“%f“,B. scanf(“8.4f“,C. scanf(“%6.2
13、f“,D. scanf(“8f“,正确答案:15. 以下( )不是 C 语言的特点。A. 语言的表达能力B. 语言定义严格C. 数据结构系统化D. 控制流程结构化正确答案:16. 下面程序的输出结果是( ) 。main()int i,j;float s;for(i=6;i4;i-)s=0.0; for(j=i;j3;j-)s=s+i*j; printf(“%f ”,s);A. 135.000000B. 90.000000C. 45.000000D. 60.000000正确答案:17. 下列程序执行的结果是( ) 。A=1;b=2;c=3;While(bb” 后变量 a 的值为( ) 。A. 0
14、B. 1C. 4D. 5正确答案:22. 下面个选项组中,均属于 C 语言关键字的一组是( ) 。A. auto,enum,includeB. switch,typedef,continueC. signed,union,scanfD. if,struct,type正确答案:23. 若有以下定义和语句: struct studentint num,age;struct student stu3=1001,20,1001,19,1003,21;struct student *p=stu;则以下错误的引用是( ) 。A. (p+)-numB. p+C. (*p).numD. p=B. scanf(
15、“%d%d%d“,a,b,c);C. scanf(“%D%D%D“,D. scanf(“%d%d%d“,正确答案:25. 下列说法中正确的是( ) 。A. break 用在 switch 语句中,而 continue 用在循环语句中。B. break 用在循环语句中,而 continue 用在 switch 语句中。C. break 能结束循环,而 continue 只能结束本次循环。D. continue 能结束循环,而 break 只能结束本次循环。正确答案:26. 已知:struct skint a;float b; data,*p;若有 p=doy=x-;if(!y)printf( “
16、x”);continue;printf(“#”);while(1b;+b)i+;while(a +c)j+;do k+;while(ad+);A. j=5,i=4,k=6;B. i=5,j=4,k=6;C. j=6,i=5,k=7D. j=6,i=6,k=6;正确答案:36. 已知:int x=1,y=2,z;则执行 z=xy?+x:+y;则 z 的值为( ) 。A. 1B. 2C. 3D. 4正确答案:37. 说明语句“int (*p)(); “ 的含义是( ) 。A. p 是一个指向一维数组的指针变量B. p 是一个指针变量,指向一个整型数据C. p 是一个指向函数的指针,该函数的返回值是
17、一个整型D. 以上都不对正确答案:38. if 语句的控制条件( ) 。A. 只能用关系表达式B. 只能用关系表达式或逻辑表达式C. 只能用逻辑表达式D. 可以是任何表达式正确答案:39. 执行下面的语句后 x 的值为( ) 。int a=14,b=15,x;char c=A;x=(ax-)if(x%3)x-;-x;-x;printf(“%d”,x); A. 63B. 74C. 62D. 73正确答案:9. 执行以下程序段后,a,b,c 的值分别是( ) 。int a,b=100,c,x=10,y=9;a=(-x= =y+)?x:+y; if(xb” 后变量 a 的值为( ) 。A. 0B.
18、1C. 4D. 5正确答案:13. 以下程序的输出是( )。main()char a25=“6937”,”8254”;int i,j,s=0;for(i=0;i0scanf(“%s”,B. char s5;scanf(“%s”,s);C. char s5;scanf(“%s”,D. char s5;gets(s);正确答案:17. 下列程序段( ) 。x=3;doy=x-;if(!y)printf(“x”);continue;printf(“#”);while(1y)z=x; x=y; y=z;A. 10,20,30B. 20,30,30C. 20,30,10D. 20,30,20正确答案:1
19、9. 为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时( ) 。A. “r+“B. “w+“C. “wb+“D. “ab+“正确答案:20. 下列对字符串的定义中错误的是( ) 。A. char str7=“FORTRAN“B. char str =“ FORTRAN“C. char *str=“FORTRAN“D. char str =F,O,R,T,R,A,N,正确答案:21. 在以下对 C 语言的描述中,正确的是( ) 。A. 在 C 语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参B. C 语言函数既可以嵌套定义又可以递归调用C. 函数必须有返回值,否
20、则不能使用函数D. C 语言程序中有定义关系的所有函数都必须放在同一源文件中正确答案:22. 执行下面的语句后 x 的值为( ) 。int a=14,b=15,x;char c=A;x=(aB. s=p+s;C. s2=p4;D. *p=s0;正确答案:27. 在 C 语言的函数定义过程中,如果函数 finA 调用了函数 funB,函数 funB 又调用了函数 funA,则( ) 。A. 称为函数的直接递归B. 称为函数的间接递归C. 称为函数的递归定义D. C 语言中不允许这样的递归形式正确答案:28. 以下对 C 语言中联合类型数据的正确叙述是( ) 。A. 一旦定义了一个联合变量后,即可
21、引用该变量或该变量中的任意成员B. 一个联合变量中可以同时存放其所有成员C. 一个联合变量中不能同时存放其所有成员D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中正确答案:29. 以下( )不是 C 语言的特点。A. 语言的表达能力B. 语言定义严格C. 数据结构系统化D. 控制流程结构化正确答案:30. 利用 fseek 函数可以( ) 。A. 改变文件的位置指针B. 实现文件的顺序读写C. 实现文件的随机读写D. 以上答案均正确正确答案:31. 下面个选项组中,均属于 C 语言关键字的一组是( ) 。A. auto,enum,includeB. swi
22、tch,typedef,continueC. signed,union,scanfD. if,struct,type正确答案:32. C 语言结构类型变量在程序执行期间( ) 。A. 所有成员一直驻留在内存中B. 只有一个成员驻留在内存中C. 部分成员驻留在内存中D. 没有成员驻留在内存中正确答案:33. 下面程序的输出结果是( ) 。main()int i,j;float s;for(i=6;i4;i-)s=0.0; for(j=i;j3;j-)s=s+i*j; printf(“%f ”,s);A. 135.000000B. 90.000000C. 45.000000D. 60.000000
23、正确答案:34. 以下正确的数组定义语句是( ) 。A. int y14=1,2,3,4,5;B. float x3 =1,2,3;C. long s23=1,1,2,1,2,3;D. double t 3=0;正确答案:35. 下列程序执行的结果是( ) 。A=1;b=2;c=3;While(by?+x:+y;则 z 的值为( ) 。A. 1B. 2C. 3D. 4正确答案:北理工C 语言程序设计在线作业二、判断题(共 10 道试题,共 20 分。 )1. 在标准 C 语言中,可以用 typedef 定义类型,所以用 typedef 可以增加 C 语言的数据类型。A. 错误B. 正确正确答案
24、:2. 若函数的返回值与 return 表达式类型不一致时,以 return 表达式类型为准。A. 错误B. 正确正确答案:3. switch(表达式) 中的表达式可以是任意类型的表达式。A. 错误B. 正确正确答案:4. “%”运算两侧的数据可以是任意类型的数据。A. 错误B. 正确正确答案:5. 在标准 C 语言中,所有函数在调用之前都要进行声明。A. 错误B. 正确正确答案:6. 设有变量定义 char s=”hello”,则数组中有 6 个元素。A. 错误B. 正确正确答案:7. 结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。A. 错误B. 正确正确答案:8. “A“是一
25、个字符常串量。A. 错误B. 正确正确答案:9. 在 C 语言中,逻辑表达式中只允许出现逻辑型数据。A. 错误B. 正确正确答案:10. 在 C 语言中,以“r”方式不能打开并不存在的文件。A. 错误B. 正确正确答案:北理工C 语言程序设计在线作业一、单选题(共 40 道试题,共 80 分。 )1. 说明语句“int (*p)(); “ 的含义是( ) 。A. p 是一个指向一维数组的指针变量B. p 是一个指针变量,指向一个整型数据C. p 是一个指向函数的指针,该函数的返回值是一个整型D. 以上都不对正确答案:2. 下面程序的输出结果是( ) 。main()int i,j;float s
26、;for(i=6;i4;i-)s=0.0; for(j=i;j3;j-)s=s+i*j; printf(“%f ”,s);A. 135.000000B. 90.000000C. 45.000000D. 60.000000正确答案:3. main(argc,argv )中形式参数 argv 的正确说明形式应当为( ) 。A. char *argv B. char argv C. char argv D. char *argv正确答案:4. 以下对 C 语言中联合类型数据的正确叙述是( ) 。A. 一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员B. 一个联合变量中可以同时存放其所有成
27、员C. 一个联合变量中不能同时存放其所有成员D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中正确答案:5. 以下( )不是 C 语言的特点。A. 语言的表达能力B. 语言定义严格C. 数据结构系统化D. 控制流程结构化正确答案:6. 已知:struct skint a;float b; data,*p;若有 p=scanf(“%s”,B. char s5;scanf(“%s”,s);C. char s5;scanf(“%s”,D. char s5;gets(s);正确答案:9. 已知: structint i; char c; float a; test;
28、 则 sizeof(test)的值是( ) 。A. 4B. 5C. 6D. 7正确答案:10. 为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时( ) 。A. “r+“B. “w+“C. “wb+“D. “ab+“正确答案:11. if 语句的控制条件( ) 。A. 只能用关系表达式B. 只能用关系表达式或逻辑表达式C. 只能用逻辑表达式D. 可以是任何表达式正确答案:12. C 编译系统提供了对 C 程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是( ) 。A. 编辑和编译B. 编译和连接C. 连接和运行D. 编辑和运行正确答案:13. 若在键盘上输入:283
29、.1900,想使单精度实型变量 c 的值为 283.19,则正确的输入语句是( ) 。A. scanf(“%f“,B. scanf(“8.4f“,C. scanf(“%6.2f“,D. scanf(“8f“,正确答案:14. 若有以下定义和语句: struct studentint num,age;struct student stu3=1001,20,1001,19,1003,21;struct student *p=stu;则以下错误的引用是( ) 。A. (p+)-numB. p+C. (*p).numD. p= for(i=0;i0+b)i+;while(a +c)j+;do k+;w
30、hile(ad+);A. j=5,i=4,k=6;B. i=5,j=4,k=6;C. j=6,i=5,k=7D. j=6,i=6,k=6;正确答案:20. 下面个选项组中,均属于 C 语言关键字的一组是( ) 。A. auto,enum,includeB. switch,typedef,continueC. signed,union,scanfD. if,struct,type正确答案:21. C 语言结构类型变量在程序执行期间( ) 。A. 所有成员一直驻留在内存中B. 只有一个成员驻留在内存中C. 部分成员驻留在内存中D. 没有成员驻留在内存中正确答案:22. 要判断 char 型变量 m
31、 是否是数字字符,可以使用下列表达式( ) 。A. 0y)z=x; x=y; y=z;A. 10,20,30B. 20,30,30C. 20,30,10D. 20,30,20正确答案:25. 已知:int x=1,y=2,z;则执行 z=xy?+x:+y;则 z 的值为( ) 。A. 1B. 2C. 3D. 4正确答案:26. 执行下面的语句后 x 的值为( ) 。int a=14,b=15,x;char c=A;x=(ax-)if(x%3)x-;-x;-x;printf(“%d”,x); A. 63B. 74C. 62D. 73正确答案:33. 若有 char a80,b80;则正确的是(
32、) 。A. puts(a,b);B. printf(“%s,%s”a ,b );C. putchar(a,b);D. puts(a);puts(b);正确答案:34. 已知“int a=4,b=5,c;” ,则执行表达式“c=a=ab” 后变量 a 的值为( ) 。A. 0B. 1C. 4D. 5正确答案:35. 以下程序的输出结果是( ) 。main()int i,k,a10,p3;k=5;for(i=0;ib”后变量 a 的值为( ) 。A. 0B. 1C. 4D. 5正确答案:3. 若有 char a80,b80;则正确的是( ) 。A. puts(a,b);B. printf(“%s,
33、%s”a ,b );C. putchar(a,b);D. puts(a);puts(b);正确答案:4. 在以下对 C 语言的描述中,正确的是( ) 。A. 在 C 语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参B. C 语言函数既可以嵌套定义又可以递归调用C. 函数必须有返回值,否则不能使用函数D. C 语言程序中有定义关系的所有函数都必须放在同一源文件中正确答案:5. C 语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是( ) 。A. 地址传递B. 值传递C. 由实参传给形参,并由形参传回给实参D. 由用户指定传递方式正确答案:6. 执行以下程序段后,c3 的值是() 。int c1=1,c2=2,c3 ; c3=c1/c2;A. 0B. 1/2C. 0.5D. 1正确答案:7. C 语言结构类型变量在程序执行期间( ) 。A. 所有成员一直驻留在内存中B. 只有一个成员驻留在内存中C. 部分成员驻留在内存中