C、a>10&&a<15D、!
(a<=10)&&!
(a>=15)
7、char型常量在内存中存放的是。
A、ASCII代码值B、BCD代码值
C、内码值D、十进制代码值
8、下面的叙述不正确的是。
A、在C程序中所用变量必须先定义后使用
B、在程序中,XYZ和xyz是两个不同的变量
C、若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变
D、当输入数值型数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值
9、下列说法中,正确的是。
E、自动型变量是分配在内存的数据区的
F、寄存器型变量是分配在内存的数据区中的
G、表态型变量是分配在内存的数据区中的
D、外部参照型变量是分配在内存的数据区中的
10、下述程序的输出结果是。
intx=1;
y=++x;
z=x++;
printf(“%d,%d,%d”,x,y,z);
A、3,2,2B、3,2,3
C、2,2,2D、2,2,1
11、在C语言中,要求参加运算的数必须是整数的运算符是。
A、/B、!
C、%D、==
12、设ch是char型变量,其值为’A’,则下面表达式的值是。
A、AB、a
C、zD、Z
13、两次运行下面程序,分别输入6和5,请问输出结果分别是。
main()
{intx;
scanf(“%d”,&x);
if(x-->5)printf(“%d”,x);
elseprintf(“%d”,x++);}
A、55B、66
C、64D、54
14、C语言程序的三种基本结构是。
A、顺序,选择,循环
B、递归,循环,转移
C、嵌套,递归,顺序
D、循环,转移,顺序
15、以下程序的输出为。
inta,b,c;
a=10;b=50;c=30;
if(a>b)a=b,
b=c;c=a;
printf(“a=%d,b=%d,c=%d”,a,b,c);
A、a=10,b=50,c=10B、a=10,b=30,c=10
C、a=50,b=30,c=10D、a=50,b=30,c=50
16、下列关于字符数组与字符串的说法中正确的是。
A、字符数组中存放的一定是一个字符串。
B、所有的字符数组都可以被当作字符串处理。
C、对存放字符串的字符数组可以像一般数组一样对数组中的单个元素进行操作。
D、一个字符数组可以认为就是一个字符串。
17、合法的数组定义是。
A、inta[]=”string”B、inta[5]={0,1,2,3,4,5}
C、chara=”string”D、chara[]={012345}
18、在宏定义#definePI301415926中,用宏名PI代替一个。
A、单精度数B、双精度数
C、常量D、字符串
19、使用共用体union的目的是。
A、将一组数据作为一个整体,以便与其中的成员共享同一存空间
B、将一组具有相同数据类型的数据作为一个整体,以便与其中的成员共享同一存储空间
C、将一组相关数据作为一个整体,以便程序中使用
D、一具有相同数据类型的数据作为一个整体,以便程序中使用
20、当说明一个结构体变量时系统分配给它的内存是。
A、各成员所需内存量的总和
B、结构中第1个成员所需内存量
C、成员中占内存量最大者所需的容量
D、结构中最后一个成员所需内存量
21、设有如下枚举型定义:
enumcolor{red=1,black,white=10,green=100,blue};则枚举量blue的值为。
A、5B、3
C、101D、11
22、在C语言中,当函数调用时。
A、实参和形参共用存储单元
B、实参和形参各占一个独立的存储单元
C、由系统自动确定实参和形参是否共用存储单元
D、可由用户指定实参和形参是否共用存储单元
23、在C语言中,如果对函数类型未加显示说明,则函数的隐含类型是。
A、intB、charC、voidD、double
24、阅读下面程序:
#include
inta[]={2,4,6,8};
main()
{intI;int*p=a;
for(I=0;I<4;I++)a[I]=*p++;
printf(“%d\n”,a[2]);}
上面程序的输出结果是。
A、6B、8C、4D、2
25、设有说明:
char*str[10];则标识符的意义是:
。
A、str是一个指向有10个元素的数组的指针
B、str是一个有10个元素的数组,数组元素的数据类型是指向char型的指针
C、str是一个指向char型函数的指针
D、str是具有10个指针元素的一维指针数组,每个元素都只能指向整型变量
二、填空题
1、C程序是由函数构成的,其中有且只能有个主函数。
C语言程序的执行总是由函数开始,并且在主函数结束。
2、C语言中的运算符大都直接采用上的符号。
3、符号常量的定义方法是。
4、下列程序的主要功能是求出所有3位数中能被8整除余7,或者被7整除余8的所有整数,请填写程序中缺少的语句成分。
Main()
{intk=100;
do
if
printf(“%d\n”,k);
while(k++<999);
}
5、下列是计算n!
的值的程序,请填空。
Main()
{intI,s,n;
s=1;
printf(“entern:
“);
scanf(“%d”,&n);
for(I=1;I<=n;I++)
;
printf(“s=%d”,s);
}
6、二维数组的元素在内存中是先按,后按的次序排列的。
7、引用结构变量中成员的一般形式是。
8、若自定义函数要求返回一个值,则应在该函数体中有一条语句;若自定义函数要求不返回一个值,则应在该函数说明加一个类型说明符void。
三、程序分析题。
阅读下列程序,将输出结果或功能写到各题右侧的空白处
1、main()
{longsum=0,I;
I=1;
While(I<51)
Sum+=I++;
Printf(“%d”,sum);
}
2、#include
main()
{intI,j,x=0;
for(I=0;I<2;I++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++;
}
x++;
}
printf(“x=%d”,x);
}
3、#include
main()
{inta=0,b=1,c=2;
switch(a)
{case0:
switch(b)
{case1:
printf(“#”);break;
case0:
printf(“*”);break;}
case1:
switch(c==2)
{case1:
printf(“&”);break;
case0:
printf(“!
”);preak;}
}
}
4、#include
main()
{inta[]={1,2,3,4,5,6},*p=a;
*(p+3)+=2;
printf(“%d,%d”,*p,*(p+3));}
5、findmax(ints[],intt)
{intk,p;
for(p=0,k=p;p<=t;p++)
if(s[p]>s[k])k=p;
returnk;
}
四、程序设计题。
1、求100以内的所有素数,并按10个一行进行打印。
2、从键盘上输入十个元素,求它们的最值。
3、编写程序,对输入两个正整数m和n,求出它们的最大公约数和最小公倍数。
4、输入年月日,求这一天是该年的第多少天
5、打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。
6、一个数恰好等于它的因子之和,这个数就称为“完数”。
例如,6的因子为1,2,3而6=1+2+3,因此6是完数。
编程找出求1000以内的所有完全数。
7、题目:
将一个正整数分解质因数。
例如:
输入90,打印出90=2*3*3*5。
8、题目:
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时
9、数组元素的查询(顺序查询和折半查询)
10、数组元素的排序(插入排序、冒泡排序、选择排序)
第三部分试题题型
一、选择题
1、C语言标识符命名规则
2、合法的运算表达式
3、字符常量
4、条件表达式
5、赋值表达式
6、求解表达式的结果
7、与IF语句等价的表达式
8、正确的输入格式
9、给出一段程序求解它的值
10、函数的隐含类型是什么
11、数组元素正确的引用
12、实参与形参的关系
13、三种基本结构
14、实参与形参的关系
15、不合法的表达式是什么
16、指针与变量的关系
17、变量的作用域
18、指针与变量的关系
19、指针与数组的关系
20、指针与数组的关系
二、填空题
1、C语言的概述
2、赋值表达式的书写形式
3、C语言的基本内容包括哪些
4、求解表达式的结果
5、通过语言描述写出表达式的形式
6、数组元素的引用
7、指针与数组的关系
8、二维数组中数组元素与指针的关系
9、数组的描述
10、C语言程序在内存中运行的空间
11、C语言标识符的组成
12、字符与字符串的关系