365文库
登录
注册
2

C语言程序设计试题及答案(十)

83阅读 | 3收藏 | 19页 | 打印 | 举报 | 认领 | 下载提示 | 分享:
2
C语言程序设计试题及答案(十)第1页
C语言程序设计试题及答案(十)第2页
C语言程序设计试题及答案(十)第3页
C语言程序设计试题及答案(十)第4页
C语言程序设计试题及答案(十)第5页
C语言程序设计试题及答案(十)第6页
C语言程序设计试题及答案(十)第7页
C语言程序设计试题及答案(十)第8页
C语言程序设计试题及答案(十)第9页
C语言程序设计试题及答案(十)第10页
C语言程序设计试题及答案(十)第11页
C语言程序设计试题及答案(十)第12页
C语言程序设计试题及答案(十)第13页
C语言程序设计试题及答案(十)第14页
C语言程序设计试题及答案(十)第15页
C语言程序设计试题及答案(十)第16页
C语言程序设计试题及答案(十)第17页
C语言程序设计试题及答案(十)第18页
C语言程序设计试题及答案(十)第19页
福利来袭,限时免费在线编辑
转Pdf
right
1/19
right
下载我编辑的
下载原始文档
收藏 收藏
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
净疏娇秒净是争分夺秒 上传于:2024-05-22
C语言程序设计试题及答案(十) 一、选择题: 1.以下不是C语言的特点的是(    ) A.C语言简洁、紧凑                  B.能够编制出功能复杂的程序 C. C语言可以直接对硬件进行操作     D.C语言移植性好 2. 以下不正确的C语言标识符是(    )。 A.ABC          B.abc         C.a_bc         D.ab.c 3.一个c程序的执行是从(   ). A.main(    )函数开始,直到main(    )函数结束 B.第一个函数开始,直到最后一个函数结束 C.第一个语句开始,直到最后一个语句结束 D.main(    )函数开始,直到最后一个函数结束 4.以下不正确的语句(设有int p,q)是(    )。 A.P*=3; B.p/=q;   C.p十=3; D.p&&=q 5.下列四组选项中,均不是C语言关键字的选项是(    ). A.define    B.getc      C.include    D.while     if           char         sanf         go type           printf       case         pow 6.下面四个选项中,均是合法整形常量的选项是(   ).  A.160              B.-0xcdf        C.-01        D.-0x48a    -0xffff             01a           986,012      2e5        011               0xe              0668         0x 7. 下面四个选项中,均是不合法浮点数的选项是(   ).  A.160.            B.123            C.-.18        D.-e3 0.12               2e4.2               123e4       0.234        e3                  .e5                0.0            1e3 8. 若有代数式3ae/bc,则不正确的C语言表达式是( )    A.a/b/c*e*3                                B.3*a*e/b/c         C.3*a*e/b*c                               D.a*e/c/b*3 9. 若以下变量均是整形,且num=sum=7;则计算表达式sUM=num++,sUM++,++num后sum的值为( ). A.7          B.8         C.9                D.10 10.若有定义:int a=7; float x=205 ,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( )。       A.2.500000          B.2.750000          C.3.500000          D.0.000000 11. sizeof(float)是( )。 A.一个双精度型表达式               B. 一个整型表达式        C.一种函数调用                        D. 一个不合法的表达式 12. 设int n=3;则n十十的结果是(    )。      A.2         B.3      C.4       D.5 13. 设有说明: char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为(   )。       A.float               B.char               C.int                 D.double. 14. 若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( ). A. scanf(“%d%d1x,%1e”,&x,&y,&z); B. scanf(“%2d*%d%1f”,&x,&y,&z); C. scanf(“%x%*d%o”,&x,&Y); D. scanf(“%x%o%6.2f”, &x,&y,&z); 15. 以下说法正确的是( ). A. 输入项可以为一个实型常量,如scanf(“%f”,3.5); B. 只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”); C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f); D. 当输入数据时,必须指明变量的地址,如scanf(“%f”,&f); 16. 以下程序的执行结果是(   )。 #include main() { int sum,pad; sum=pad=5; pad=sum++; pad++; ++pad; printf("%d
",pad); } A.7         B.6               C.5                    D.4 17. 巳知字母A的ASCII码是65,以下程序的执行结果是( )。 #include main() {  char c1='A',C2='Y';  printf("%d,%d
",c1,c2); A.A,Y         B.65,65          C.65,90              D.65,89 18. 为了避免嵌套的if-else语句的二义性,c语言规定else总是与(   )组成配对关系。 A.缩排位置相同的if B.在其之前末配对的if C.在其之前未配对的最近的if D.同一行上的if 19. 逻辑运算符两侧运算对象的数据类型( ).  A.能是0或1  B.只能是0或非0正数  C.只能是整型或字符型数据       D.可以是任何类型的数据 20. 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(   ). A.’x’&&’y’ B.x<=y C. x||y+z&&y-z D.!((x<y)&&!z ||1) 21. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( ). A.A%2==1    B.!(A%2==0)    C.!(A%2)    D.A%2 22. 以下不正确的if语句形式是( ). A.if(x>y&&x!=y); B.if(x==y)x十=y; C.if(x ! =y)scanf(“%d”,&x) e1se scanf(”%d,&y); D.if(x<y){x十十;y十十;} 23. 以下if语句语法正确的是( ). A.if(x>0)     printf(“%f“,x)     else printf(“%f”,-x); B.if(x>0) {x=x+y;printf(“%f“,x);} else printf(“%f”,-x) C.if(x>0) {x=x+y;printf(“%f“,x);} else printf(“%f”,-x) D.if(x>0) {x=x+y;printf(“%f“,x);} else printf(“%f”,-x) else printf(“%f”,-x); 24. 阅读以下程序 main() {int a=5,b=0,c=0; if(a=b+c) printf(“***
”); else     printf(“$$$
”); } 以上程序 (   ). A.语法有错不能通过编译                       B.可以通过编译但不能通过连接 C.输出***                                   D.输出$$$ 25. 以下程序运行结果是( ). main() {int a=100,x=10,y=20,ok1=5,ok2=0;  if (x”,a); } A.1           B.0              c.-1                   D.不确定 26. 执行以下程序段后,变量a,b,c得值分别是( ). int x=10,y=9; int a,b,c; a=(--x==y++)? –x: ++y; b=x++; c=y; A.a=9,b=9,c=9                  B.a=8,b=8,c=10 C.a=9,b=10,c=9                 D.a=1,b=11,c=10 27. 若w,x,y,z,m均为int型变量,则执行下面语句后的m值是( ). w=1;   x=2;   y=3;   z=4; m=(w main() {int y=10; do{y--;}while(--y); printf(“%d
”,y--);} A.-1        B.1            C.8                D.0 33. 以下正确的描述是( ). A.continue语句的作用是结束整个循环的执行 B.只能在循环体内和switch语句体内使用break语句 C.在循环体内使用break语句或continue语句的作用相同 D.从多层循环嵌套中退出时,只能使用goto语句 34. c语言中(    )。 A.不能使用do-while语句构成的循环 B.do-while语句构成的循环必须用break语句才能退出 C.do—whiLe语句构成的循环,当while语句中的表达式值为非零时结束循环 D.do—while语句构成的循环,当while语句中的表达式值为零时结束循环 35. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )      A. 整型常量   B.整型表达式C.整型常量或整型表达式D.任何类型的表达式 36. 在C语言中,一位数组的定义方式为:类型说明符 数组名( )。 A. [常量表达] B. 整型表达式C. [整型常量]或[整型表达式] D. [整型常量] 37. 以下不能对二维整形数组a进行正确初始化的语句是( )。 A.int a[2][3]={0}; B. int a[][3]={{1,2},{0}}; C. int a[2][3]={{1,2},{3,4},{5,6}}; D. int a[][3]={1,2,3,4,5,6}; 38. 若有说明:int a[][4]={0,0};则下面正确的叙述是()。 A. 数组a中每个元素均可得到初值0  B. 二维数组a的第一维大小为1 C. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1 D.只有元素a0][0]和a[0][1]可得到初值0,其余元素均得不到初值0 39. 若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是( )。 A.2           B.3          C.4          D.无确定值 40. 下面程序的运行结果是( )。 char c[5]={‘a’,’b’,’\0’,’c’c,’\0’}; printf(“%s”,c);} A.‘a’’b’ B.ab C.ab c D.ab 41. 有两个字符数组a、b,则以下正确的输入语句是( )。 gets(a,b); scanf(“%s%s”,a,b); scanf(“%s%s”,&a,&b); gets(“a”),gets(“b”);   A. s[j+=]=s[i]          B. s[++j]=s[i] C. s[j]=s[i]; j++       D.s[j]=s[i] 42. 若使用一维数组名作函数实参,则以下正确的说法是( ). A.必须在主调函数中说明此数组的大小 B.实参数组类型与形参数组类型可以不匹配 C.在被调函数中,不需要考虑形参数组的大小 D.实参数组名与形参数组名必须一致 43. 以下正确的说法是( ). A.如果在一个函数中的复合语句中定义了一个变量,则该变量只在该复合语句中有效 B.在该函数中有效 C.在本程序范围内均有效 D.非法变量 44. 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( ). A.自动(auto) B.静态(static)C.外部(extern) D. 寄存器(register) 45. 以下程序的运行结果是( )。 #define MIN(x,y)   (x)<(y)?(x):(y) main() {int i=10,j+15,k; k+10*MIN(i,j); printf(“%d
”,k); } A.10           B.15            C.100              D.150 46. C语言的编译系统对宏命令的处理是( )。 A.在程序运行时进行的 B.在程序连接时进行的 C.和C程序中的其它语句同时进行编译的 D.在对源程序中的其它语句同时进行编译的 47. 请读程序 #include #defineMUL(x,y)(x)*y main() {int a=3,b=4,c; c=MUL(a++,b++); printf("%d
",c);        } 上面程序的输出结果是( )。 A.12       B.15      C.20       D.16 48. 以下程序的输出结果为( )。 #definePT    5.5 #defineS(x)   PT*x*x main() {inta=1,b=2; printf("%4.1
",S(a+b)); } A.12.0        B.9.5       C.12.5     D.33.5 49. 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用<>括起时,寻找被包含文件的方式是( )。 A.仅仅搜索当前目录 B.仅仅搜索源程序所在目录 C.直接按系统设定的标准方式搜索目录 D.先在源程序所在目录搜索,再按系统设定的标准方式搜索 50. 以下正确的描述是( )。 A.C语言的预处理功能是指定完成宏替换和包含文件的调用 B.预处理指令只能位于C源程序文件的首部 C.凡是C源程序中行首以“#”标识的控制行都是预处理指令 D.C语言的编译预处理就是对源程序进行初步的语法检查 51. 设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是( )。  A.c=*p1+p2;     B.p2=c      C.p1=p2       D.c=*p1*(*p2); 52. 设有下面的程序段:           chat s[]=”china”; char *p; p=s;           则下列叙述正确的是( )。 A.s和p完全相同 B.数组s中的内容和指针变量p中的内容相等 C.s数组长度和p所指向的字符串长度相等 D.*p与s[0]相等 53. 下面程序的运行结果是( )。          #include          #include          main()          { char *p1,*p2,str[50]=”abc”; p1=”abc”; p2=”abc”; strcpy(str+1,strcat(p1,p2)); printf(“%s
”,str); } A. abcabcabc   B.bcabcabc C. aabcabc   D.cabcabc 54. 若有定义:int a[2][3];则对数组a的第i行第j列(假设i,j已正确说明并赋值)元数值的正确引用为( )。         A.*(*(i+j)+j) B.(a+i)[j]   C.*(a+i+j)     D.*(a+i)+j 55. 若有定义:int (*p)[4];则标识符p( )。 A.是一个指向整型变量的指针 B.是 一个指针数组名 C.是一个指针,它指向一个含有四个整型元素的一维数组 D.定义不合法 56. 若有以下定义和赋值语句,则对b数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的非法引用为( )。 int b[2][3]={0},(*p)[3]; p=b; A.*(*(p+i)+j)          B.*(p[i]+j) C.(p+i)+j               D.(*(p+i))[j] 57. 当说明一个结构体变量时系统分配给它的内存是( ). A.各成员所需内存量的总和 B.结构中第一个成员所需内存量 C.成员中占内存量最大者所需的容量 D.结构中最后一个成员所需内存量 58. C语言结构体类型变量在程序执行期间( ). A.所有成员一直驻留在内存中 B.只有一个成员驻留在内存中 C.部分成员驻留在内存中 D.没有成员驻留在内存中 59. 以下对C语言中共用体类型数据的叙述正确的是(   )。        A.可以对共用体变量名直接赋值        B.一个共用体变量中可以同时存放其所有成员        C.一个共用体变量中不可能同时存放其所有成员        D.共用体类型定义中不能出现结构体类型的成员 60. C语言共用体型变量在程序运行期间 ( )   。           A.所有成员一直驻留在内存中           B.只有一个成员驻留在内存中           C.部分成员驻留在内存中           D.没有成员驻留在内存中 61. 请读程序片段: int x=20; printf(“%d
”, ~x); 上面程序片段的输出结果是(   ). A.02 B.–20 C.-21 D.-11 62. 在位运算中,操作数每左移一位,其结果相当于(   ). A.操作数乘以2 B.操作数除以2 C.操作数除以4 D.操作数乘以4 63. 系统的标准输入文件是指( )。 A. 键盘        B .显示器        C .软盘        D. 硬盘 64. 当顺利执行了文件关闭操作时,fclose函数的返回值是( )。  A .-1       B. TURE        C. 0       D.1 65. 已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是          ( )。       A .一个整形变量,代表要读入的数据项总数       B .一个文件指针,指向要读的文件       C .一个指针,指向要读入数据的存放地址       D.一个存储区,存放要读的数据项   二、填空题: 1. C程序的基本单位是          。 2. 表达式10%3的结果是           。 3. 假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为         。 4. 在C语言中(以16位PC机为例),一个float型数据在内存中所占用的字节数为      ; 5.C语言所提供的基本数据类型包括:                                            。 6.表达式pow(2.8,sqrt(double(x))) 值的数据类型为                  。 7.以下程序的执行结果是                                。 #include main() { float f=3.5; printf("%f,%g",f,f) } 8. 以下程序的执行结果是                  。 #include main() { float f=31.41592; printf("%f,%e",f,f) } 9. 以下程
tj