C语言综合练习2(附答案)
一、选择题
1. 已知:int x,y; float z; 则以下输入语句错误的是A?scanf("%d,%d,%f",&x,&y,&z);B?scanf ("%d%d%f",&x,&y,&z);C?scanf ("%d %d %f", &x,&y,&z);D?scanf ("%d%d%6.2f",&x,&y,&z);do
{x=x*x;} while(!x);
A: 死循环 B: 循环执行两次
C: 循环执行一次 D: 有语法错误
3. 以下对一维数组a进行不正确初始化的是
A: int a[10]=(0,0,0,0);
B: int a[10]={};
C: int a[]={0};
D: int a[10]={10*2};
4. 有以下程序
#include
main(){
char *s={“ABC”};
do
{ printf(“%d”,*s%10);s++;
}while(*s);
}
A)5670 B)656667 C)567 D)ABC
5. 下面结构体的定义语句中,错误的是____________。
A)struct ord{int x;int y;int z;};struct ord a;
B)struct ord{int x;int y;int z;}struct ord a;
C)struct ord{int x;int y;int z;}a;
D)struct{int x;int y;int z;}a;
6. 下列关于C语言文件的叙述中正确的是____________。
A)文件由一系列数据依次排列组成,只能构成二进制文件
B)文件由结构序列组成,可以构成二进制文件或文本文件
C)文件由数据序列组成,可以构成二进制文件或文本文件
D)文件由字符序列组成,其类型只能是文本文件
7. 计算机能直接执行的程序是_____________。
A)源程序 B)目标程序 C)汇编程序 D) 可执行程序
8. C语言的 switch 语句中,case后
A:只能为常量
B: 只能为常量或常量表达式
C:可为常量及表达式或有确定值的变量及表达式
D:可为任何量或表达式
9. 以下叙述中正确的是______________。
A)C语言程序是由过程和函数组成的
B)C语言函数可以嵌套调用,例如:fun(fun(x))
C)C语言函数不可以单独编译
D)C语言中除了main函数外,其他函数不可以作为单独文件形式存在
10. 以下程序中关于指针输入格式正确的是____________。
A)int *p;scanf(“%d”,&p);
B)int *p;scanf(“%d”,p);
C)int k,*p=&k;scanf(“%d”,p);
D)int k,*p;*p=&k;scanf(“%d”,&p);
11. 设有定义
struct complex
{ int real,unreal;}data1={1,8},data2;
则以下赋值语句中错误的是_____________。
A)data2=data1; B)data2=(2,6);
C)data2.real=data1.real; D)data2.real=data1.unreal;
12. 有以下程序
#include
main()
{
FILE *f;
f=fopen(“filea.txt”,”w”);
fprintf(f,”abc”);
fclose(f);
}
若文本文件filea.txt中原有内容为:hello,则运行以上程序后,文件filea.txt中的内容为____________。
A)Helloabc B)abclo C)abc D)abchello
13. 以下叙述中正确的是____________。
A)用C语言实现的算法必须要有输入和输出操作
B)用C语言实现的算法可以没有输出,但必须要有输入
C)用C语言程序实现的算法可以没有输入,但必须要有输出
D)用C语言程序实现的算法可以既没有输入,也没有输出
14. 变量的指针,其含义是指该变量的
A: 值
B: 地址
C: 名
D: 一个地址
15. 设有以下定义:
union data
{ int d1;float d2;}demo;
则下列叙述中错误的是_______________。
A)变量demo与成员d2所占内存字