C语言练习卷1及答案
练习卷1
一、单选题(每小题2分,共30分)
1.下列变量定义中合法的是( )
A. int _a=1.2e-1 B. double b=1+5e2.5
C. float 2_No=3e2 D. char if=’a’;
2.数学关系式“x≤y≤z”用C语言表达式表示为( )
A. (x<=y)&&(y<=z) B. (x<=y)and(y<=z)
C. (x<=y)||(y<=z) D. (x<=y)&(y<=z)
3.在C程序中,设表达式含有int、long、char和double类型的常量和变量,则表达式的最后运算结果是( )类型 A. int B. long C. char D. double
4.以下能对一维数组a进行正确初始化的语句是:( )
A. int a[5]=(0,0,0,0,0); B. int a[5]={};
C. int a[5]={0}; D. int a[5]={1,2,3,4,5,6};
5.若有定义语句“int i;”,则以下循环语句的执行次数是( )
for(i=2; i==0; )
printf("%d\n", i--);
A. 无限次 B. 0次 C. 1次 D. 2次
“%s”,&s[i]);
A. ABC B. ABCABCABC C. AABABC D. ABCBCC
12.C语言中NULL表示( )
A. 未定义的变量 B. 空指针 C. 字符串的结束标志 D. 文件的结束符
13.定义一个结构体变量时系统分配给它的内存是( )
A. 各成员所需内存量的总和 B. 结构体第一个成员所需的内存量
C. 结构体最后一个成员所需的内存量 D. 成员中占内存量最大者所需的容量
14. 若有定义语句:int (*p)[3];,则标识符p是一个( )
A. 3个指向整型变量的指针 B. 指向函数的指针变量
C. 一个行指针,指向有3个整型元素的一维数组
D. 指针数组名,有3个元素,每个元素均为一个指向整型变量的指针
15. 以下关于宏的叙述中正确的是( )
A. 宏名必须用大写字母表示 B. 宏定义必须位于源程序中所有语句之前
C. 宏替换没有数据类型限制 D. 宏调用比函数调用耗费时间
二、填空题(每空2分,共18分)
1、若有如下定义语句:int a=1,b=2,m=2,n=2;则执行语句“(m=a
2、若有如下定义语句:int x=,y=6;,则执行表达式“y=++x”计算后,x和y的值分别__________________、______________________。
int a=3,b=5,c=-7;,则表达式“((x=(a
4、C语言规定标识符只能由字母、______________和______________3种字符组成,且第一个字符不能是______________。
5、C程序可以分为3种基本结构,即顺序结构、选择结构和______________。
三、程序分析题(每空2分,共12分)
1、以下程序运行后的输出结果是______________, ______________。
#include
void main()
{ int i,s=0;
for(i=3;i<9;i++)
{ s+=i;
i++;
}
printf(“%d, %d\n”,s,i);}
2、以下程序运行后的输出结果是______________ 。
#include
void main()
{ int i=1;
while(1)
{ printf(“#”);
i++;
if(i<3) break;
}
printf(“\n”);}
3、以下程序运行后的输出结果是_________________ 。
#include
int f (int x)
{ re