C语言程序设计模拟试卷
(考试时间:75分钟)
(总分:150分)
一、单项选择题(本大题共20小题,每小题2分,共40分。)
1.在C语言中,变量名中不应使用的是( )。
A.大写字母 B.数字 C.减号 D.下划线
2.在printf函数中输出double数据,可以使用格式符是( )。
A.%ld B .%o C.%x D.%f
3.在程序中使用strcmp函数,需要包含的头文件是( )。
A.math.h B.stdio.h C.stdlib.h D.string.h
4.下列叙述中错误的是( )。
A.C语言程序中注释行末尾不必加分号
B.C语言程序中的注释必须单独一行
C.一个C语言程序中可以包含多个函数
D.一个C语言程序中必须有一个名为main的函数
5.有变量定义如下:
double x=12. 8;
int a;
则下列赋值语句中,错误的是( )。
A. a=++x: B. a=x; C.a=sizeof(x); D. a=x%3;
6.有变量定义如下:
double x=23. 4567;
要输出变量X的值,并保留两位小数,正确的语句是( )。
A. printf("%.2f",x); B. printf ("%f. 2" , x):
C. printf("%.2d",x); D. printf ("%d. 2" , x):
7.有如下程序段.下列选项中正确的是( )。
int k:
if(k=0)
printf("Y") ;
else
printf("N") ;
A.执行时输出结果为Y B.执行时结果不确定
C.执行时输出结果为N D.有语法错误,编译出错
8.执行下列程序段后,变量a和b的值分别是( )。
int a=3,b=5,c;
c=(a>--b)?a++:b--;
A. 3 和 2 B. 3 和 3 C. 1 和 1 D. 4 和 5
9.设 int x=10;
x+=x%=(-6)+4;执行上述语句x的值为( )。
A. 0 B. 10 C 16 D. 18
10.下列程序段中,循环体执行的次数是( )。
int x=-1;
do
{x=x+x;}while(x==0);
A.0次 B.1次 C. 2次 D.超过两次
11.求p=5!,正确的代码段是( )。
A.int p=1,i=1; B.int p=1, i=1;
while(i<=5) while (i<=5)
p=p*i; p=p*i;i++;
C.int p=1,i=1; D.int p=1, i=1;
for(i=5;i>=1;i--) for(i=5;i>=1;i++)
p=p*i; p=p*i;
12.下列语句中,只能在循环结构的循环体中使用的是( )。
A. break语句 B. continue语句
C. goto语句 D. return语句
13.下列选项中,能正确定义数组a,并为其赋初值的是( )。
A. int a[ ]="012345"; B.int a[ ]={0,1,2,3,4,5);
C. int a[5]="012345"; D.int a[5]={0,1,2,3,4,5};
14.在声明数组int a[5][6];后,按照数组在内存中的存放顺序,数组a的第10个元素是( )。
A. a[1][3] B. a[1][5] C. a[2][4] D. a[2][5]
15.下列程序段中,有语法错误的是( )。
A. char *str; str="abc"; B. char str[3]={'a','b','c'};
C. char str1[5]; str1="abc"; D. char str1[]="abc", *str2="12345";
16.有如下定义语句:
char s[20]="abc",t[20]="1234";
则能够正确的经字符串t连接到字符串s末尾的选项是( )。
A. strcmp( s, t) B. strcmp( t, s)
C. strcat( s , t ) D. strcat( t, s)
17.定义一个指针变量p,一个完整的c语言程序并使其指向double型变量 x,正确的是( )。
A. double x, p=&x; B. double x *p=&x;
C. double x ,*p; *p=x: D. double x,*p; *p=&x;
18.有如下函数定义,则函数 fun ()的返回值类型为( )。
double fun()
{ int k=2:
char ch='a';
return (float)(ch*k);
}
A. char B. int C. float D. double
19.用如下话句定义一个结构体类型,要声明该数据类型的变量t,正确的语句是( )。
struct XY{ int x; double y;}ABC;
A. XY t; B. struct t;
C. ABC t; D. struct XY t;
20.有如下数组定义语句,则strlen(s)的值是( )。
char s[10]=*a\ntest*;
A. 6 B. 7 C. 8 D. 10
二、程序阅读题(本大题共5小题,每小题6分,共30分。)
1.
#include <stdio. h>
int m[3][3]={{1}, {2}, {3}};
int n[3] [3]={1,2,3};
main()
{printf("%d\n", m[1][0]+n[0][0]);
printf("%d\n", m[0][1]+n[1][0]);
}
2.
#include <stdio. h>
int x=1:
main()
{ void func(int x);
func(x):
printf("%d\n", x);
}
void func(int x)
{ x=3; }
3.
#include <stdio. h>
#include <string. h>
main()
{ char str[100]="How do you do";
strcpy(str+strlen(str)/2, "es she");
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论