《C程序设计》模拟试题二及参考答案
- 格式:doc
- 大小:71.00 KB
- 文档页数:10
《 C 程序设计》考试试题
( 120 分钟)
一、单项选择题(每小题 2 分,共 60 分)
1 .自定义标识符中,符合 C语言规定的是 _______ 。
A)for B)3a C)*a D)_123
2 . C语言程序的基本单位是 _______ 。
A)程序行 B)语句 C)函数 D)字符
3 . g etche( )函数的功能是 _______ 。
A)从键盘读入一字符串 B)从键盘读入一字符
C)从键盘输出一字符串 D)从键盘输出一字符
4 .下面有关 for 循环的正确描述是 _______ 。
A)for循环只能用于循环次数已经确定的情况
B) for循环是先执行循环语句,后判定表达式
C) 在for循环中,不能用break语句跳出循环体
D) for循环体语句中,可以包含多条语句,但要用花括号括起来
5. 为表示关系100≥x≥10,应使用C语言表达式 _______ 。
A)(100>=x)&&(x>=10) B)(100>=x) AND (x>=10)
C)(100>=x>=10) D)(100>=x)&(x>=10);
6.定义int a; float f; double i; 表达式 15+i*f+ˊAˊ的值是 _______ 。
A) float B) int C) char D)double
7.下列有关字符数组与字符串的说法中,正确的是 _______ 。
A)字符数组中存放的一定是一个字符串
B)所有的字符数组都可以被当作字符串处理
C)对存放字符串的字符数组可像一般数组一样对数组中单个元素操作
D)一个字符数组可以认为就是一个字符串
8 .下面程序要求从键盘上输入值并打印,请选择正确的输入方法 _______ 。main( )
{ int a,b;
scanf("x=%d,y=%d",&x,&y);
printf("x=%d,y=%d\n",x,y);
}
A)5,6 B) x=5, y=6 C)5↙6 D)5 6
9.为避免在嵌套的条件语句 if-else中产生二义性,C语言规定:else子句总是与 _______ 配对。( A)缩排位置相同的if (B)其之前最近的if
( C)其之后最近的if (D)同一行上的if
10 .定义如下变量和数组:
int i; int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是 _______ 。
for(i=0;i<3;i++) printf("%d",x[i][2-i]);
A)1 5 9 B)1 4 7 C)3 5 7 D)3 6 9
11 .在定义了 int a[3][2];之后,对a的引用正确的是 _______ 。
A)a[3][2] B)a[3][0] C)a[0][0] D)a[0,0]
12 .若要求在 if后一对圆括号中表示a不等于0的关系,则能正确表示这
一关系的表达式为 _______ 。
A)a< >0 B)! a C)a=0 D)a
13.执行以下程序段后,m的值为 _______ 。
int a[2][3]={{1,2,3},{4,5,6}};
int m,*p; p=&a[0][0];
m=(*p)+(*(p+2))+(*(p+4));
A)9 B)8 C)7
D)6
14.下列对字符串的说法中,错误的是 _______ 。
A)字符串就是一个字符数组
B)字符串可以整体输入输出
C)字符串可以比较大小
D)存储字符串所需的内存空间等于字符串的长度
15.若有以下定义和语句,则输出结果是 _______ 。
char s1= " 12345 " , s2=" 1234 "
printf("%d\n",strlen(strcpy(s1,s2)));
A)4 B)5 C)9 D)10
16.有一函数关系见下表:
x y=
x<0 x-1
x=0 x
x>0 x+1
下面程序中能正确表示上面关系的是 _______ 。
( A)y=x+1; (B)y=x-1;
if(x>=0) if(x!=0)
if(x==0) y=x; if(x>0) y=x+1;
else y=x-1; else y=x;
( C)if(x<=0) (D)y=x;
if(x<0) y=x-1; if(x<=0)
else y=x; if(x<0) y=x-1;
else y=x+1; else y=x+1;
17.以下正确的程序段是 _______ 。
A)char str[2]; B)char *p;
scanf("%s",&str); scanf("%s",p);
C)char str[20]; D)char str[20],*p=str;
scnaf("%s",&str[2]); scanf("%s",p[2]);
18.以下正确的函数定义形式是 _______ 。
A)double fun(int x,int y)
B)double fun(int x;int y)
C)double fun(int x,int y);
D)double fun(int x,y);
19.以下有关宏替换不正确的是 _______ 。
A)宏替换不占用运行时间 B)宏名无类型
C)宏替换只是字符替换 D)宏名必须用大写字母表示
20.
有如下语句 int a=10,b=20,*p1,*p2;p1=&a;p2=&b;如图1所示。若要实现图2所示的存储结构,可选用的赋值语句是 _______ 。