《C语言程序设计》模拟题
一、单项选择题
1.下面程序运行的结果是void ss(char *s,char t) { while(*s)  { if(*s= =t) *s=t-‘a’+’A’;  s++;}}void main(){ char str1[100]=”abcddfefdbd”,c=’d’; ss(str1,c); printf("%s\n",str1);}
A.ABCDDFEFDBD
B.abcDDfefDbD
C.abcAAfefAbA
D.Abcddfefdbd
[答案]:B
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
2.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传给实参
D.由用户指定传递方式
[答案]:B
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
3.C语言中的标示符只能由字母,数字和下划线三种字符组成,且第一个字符(      )
A.必须是字母
B.必须是下划线
C.必须是字母或下划线
D.可以是字母或数字或下划线中的任意一种
[答案]:C
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
4.不能把字符串:"good!"赋给数组b的语句是
A.char b[10]={’g’,’o’,’o’,’d’,’!’};
B.char b[10];b="good!";
C.char b[10];strcpy(b, "good!") ;
D.char b[10]="good!";
[答案]:B
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
5.对for(表达式1;;表达式3)可以理解为
A.for(表达式1;0;表达式3)
B.for(表达式1;表达式1;表达式3)
C.for(表达式1;1;表达式3)
D.for(表达式1;表达式3;表达式3)
[答案]:C
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
6.面向对象程序设计将数据与(  ) 放在一起,作为一个相互依存不可分割的整体来处理.
A.对数据的操作
B.信息
C. 数据隐藏
D.数据抽象
[答案]:A
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
7.若二维数组a有m列,则在a[i][j]前的元素个数为
A.j*m+i
B.A. i*m+j
C.i*m+j-i
D.i*m+j+1
[答案]:B
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
8.若有int *p,a[10];p=a; ,则下列写法不正确的是
A.p=a+2
B.a++
C.*(a+1)
D.p++
[答案]:B
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
9.若有以下定义:char s[10]="include“,*p=s;,则不能代表字符‘u’的表达式为
A.s[4]
B.s+4
C.*(p+4)
D.p+=4,*p;
[答案]:B
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
10.设c1,c2均是char型变量,则下面不正确的函数调用为
A.scanf("c1=%cc2=%c”,&c1,&c2);
B.getchar();
C.putchar(c2);
D.putchar(c1,c2);
[答案]:D
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
11.说明一个结构体变量时,系统分配给它的内存是
A.各成员所需内存量的总和
B.结构体中第一个成员所需内存量
C.成员中占内存量最大者所需的容量
D.结构体中最后一成员所需内存量
[答案]:A
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
12.下列数据中,合法的8进制常量是() .
A.473
B.931
C.0abc
D.10
[答案]:D
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
13.下面不正确的说法是:C语言规定
A.实参可以是常量,变量或表达式
B.形参可以是常量,变量或表达式
C.实参传递给形参时,要求实参必须有确定的值
D.形参应与其对应的实参类型可以不一致
[答案]:B
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
14.下面程序的运行结果是(  ).#include  main()  {    int x,i;    for (i=1;i
A.39  81
B.42  84
C.26  68
D.28  70
[答案]:D
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
15.下面程序段的输出结果是 char c1=’6’,c2=’0’; printf(”%c,%c,%d,%d\n”,c1,c2,c1-c2,c1+c2);
A.因输出格式不合法,输出出错信息
B.6,0,6,102
C.6,0,7,6
D.6,0,5,7
[答案]:B
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
16.下面的循环结构中,不是无限循环的是
A.for( i=1;;i++)
B.i=1;while(i--)
C.i=1;do{printf(”%d”,i); i++;} while(--i);
D.for(i=0;i;i++)
[答案]:D
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
17.下面是对s的初始化,其中不正确的是
A.char s[5]={"abc"};
B.char s[5]={‘a’,’b’,’c’};
C.char s[5]=””;
D.char s[5]=”abced”;
[答案]:D
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
18.下面说法中不正确的是
A.一个C源程序可有一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成是函数
D.在C程序中,注释语句只能位于一条语句的后面
[答案]:D
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
19.下面四个选项当中,均是关键字的是(      )
A.auto,enum,include
B.switch,typedef,continue
C.signed,union,scanf
D.if,struct,type
[答案]:B
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
20.已知ch是字符型变量,下面不正确的赋值语句为
A.ch=’a+b’;
B.ch=’\0’;
C.ch=’7’+’9’;
D.ch=5+9;
[答案]:A
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
21.以下正确的说法是
A.定义函数时,形参的类型说明可以放在函数体内
B.return后边的值不能为表达式
C.如果函数值的类型和返回值类型不一致,以函数值类型为准
D.如果形参与实参的类型不一致,以函数值类型为准
[答案]:C
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
22.C语言规定,在一个源程序中,main函数的位置
A.必须在最开始
B.必须在系统调用的库函数的后面
C.可以任意
D.必须在最后
[答案]:C
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
23.sizeof(double)是一个(  )表达式.
A.整型
B.双精度
C.不合法
D.函数调用
[答案]:A
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
24.不正确的定义语句是
A.double x[5]={2.0,4.0,6.0,8.0,10.0};
B.int y[5]={0,1,3,5,7,9};
C.char c1[]={’1’,’2’,’3’,’4’,’5’};
D.char c2[]={’\x10’,’\x0a’,’\x08’};
[答案]:B
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
25.对if语句中表达式的类型,下面正确的说法是
A.必须是关系表达式
B.必须是关系表达式或逻辑表达式
字符串常量中最大的是C.可以是任意表达式
D.必须是关系表达式或算术表达式
[答案]:C
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
26.能正确表示a和b同时为正或同时为负的表达式是
A.(a>=0||b>=0)&&(a<0||b<0)
B.(a>=0||b>=0)&&(a<0&&b<0)
C.(a+b>0)&& (a+|b<0)
D.a*b>0
[答案]:D
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
27.若使用以为数组名作函数实参,则下面说法中正确的是
A.在被调函数中,与该实参相对应的形参必须是同类型的数组名或指针变量
B.实参数组类型与形参数组类型可以不匹配
C.在被调函数中,不需要考虑形参数组的大小
D.实参数组名与形参数组名必须一致
[答案]:A
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
28.若有定义:int a[10],*p=a;,则p+5表示
A.元素a[5]的地址
B.元素a[5]的值
C.元素a[6]的地址
D.元素a[6]的值
[答案]:A
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
29.若有以下结构体定义,则正确的引用和定义是struct example { int x;  int y;} v1;
A.example.x=10
B.example v2; v2.x=10;
C.struct  v2;  v2.x=10;
D.struct  example  v2={10,5};
[答案]:B
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
30.设p1,p2是指向同一个字符串的指针变量,c为字符变量,则不能正确执行的赋值语句为
A.c=*p1+*p2;
B.p2=c;
C.p1=p2;
D.c=(*p1)*(*p2);
[答案]:B
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
31.为了表示关系x>=y>=z,下面C语言表达式中正确的是
A.(x>=y)&&(y>=z)
B.(x>=y)and(y>=z)
C.(x>=y>=z)
D.(x>=y)&(y>=z)
[答案]:A
[一级属性]:
[二级属性]:
[难度]:
[公开度]:
 
32.下列数据中属于"字符串常量"的是(  ).

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。