C语言-模拟题
C 语言程序设计模拟题
一、选择题(共15分,每题 1分 )
1.C
以下叙述中,正确的是 。
在C程序中,main函数必须位于程序的最前面
C程序的每一行只能写一条语句
C语言本身没有输入输出语句
在对一个C程序进行编译的过程中,可发现注释中的拼写错误
2.A
while循环为当型循环,其特点是 。
A. 先判断表达式,后执行语句
B. 先执行语句,后判断表达式
C. 只判断表达式
D. 直接执行语句
3. B
设有变量定义char str[80]; 下列 语句能将字符串“shanghai 2011”从键盘输入到数组变量str中。
A. printf("%s",str);
B. gets(str);
C. scanf("%s",str);
D. puts(str);
4. B
循环语句中,continue语句的作用是 。
终止程序
结束本次循环
从本循环体内跳出
跳出子函数
5. B
下列 语句定义p为指向double类型变量x的指针。
double x, *p=x;
double x, *p=&x;
double *p=&x , x;
double x, p=x;
6. D
下面四个程序段中,不能输出23个*号的程序段是 。
A. for(int i=0; i<23; i++) putchar(‘*’);
B. for(int j=23; j>0; j--) putchar(‘*’);
C. int k=23; while(k>0) {putchar(‘*’); k--;}
D. int i=0; while(i>23) {putchar(‘*’); i++;}
7. B
以下对结构体变量stu1中成员age的非法引用是 。
stuct student
{
int age;
int num;
}stu1, *p=&stu1;
A. stu1.age
B. student.age
C. p->age
D. (*p).age
8. D
设有变量定义 int x, a=3, b=4; 则语句 x=(a=0)&&(b=8); 执行之后各变量的值为 。
A. x=0, a=0, b=8
B. x=1, a=3, b=4
C. x=1, a=0, b=8
D. x=0, a=0, b=4
9.A
下列标识符中,不合法的标识符为: 。
A. a#b
B. _int
C. a_10
D. Pad
10. C
若希望A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是 。
A. A%2==1
B. !(A%2==0)
C. !(A%2)
D. A%2
11. D
为了判断两个字符串s1和s2是否相等,应当使用_____。
A. if (s1==s2 )
B. if (s1 = s2 )
C. if ( strcpy (s1,s2 ) )
D. if ( strcmp( s1,s2) == 0 )
12.B
以下程序段的输出结果为: 。
for ( i=4; i>1;i-- )
for ( j=1; j
putchar(‘#’);
A. #
B. ######
C. ##
D. ###
13. B
设x,y和z是int 型变量,且x=3,y=4,z=5,则下面表达式中值为0的是 。
A. y && ‘y’
B. x==y && y!=z
C. x||y+z && y-z
D. !(x
14. D
若有变量定义:int a[4], *p=a; 则以下对数组a的元素不正确的引用是_____。
A. *a
B. *(p+1)
C. p[1]
D. a[4]
15. C
设有以下结构体定义及初始化,表达式(stu[0].score+stu[1].score)/2的结果是_______。
struct student
{
int num;
float score;
} stu[2]={90,91.5,93,92.5};
A. 91.0
B. 91.5
C. 92.0
D. 92.5
二、填充题(共 26 分,每题 2分)
1、表达式strlen (“C2009”)