c语言程序设计课程练习试卷 ( a )卷
一、填空题(每空2分,共20分)
1、已知char s=则s数组中含有5个元素。
2、已知宏定义#define s 2+3, printf(“%d”,s*4);的输出结果是20。
3、表达式(a==b)&&a>b)的值是0。
4、设x,y均为int型变量,请写出描述“x,y中有一个负数”的表达式(x<0||y<0)。
5、若int类型变量占两个字节,定义int x[15]=;则数组x在内存中所占的字节数是30。
6、若有int a[3][2]=,则a[1][1]的值是。
7、c语言中调用fclose函数来关闭文件。
8、若有定义:int a[6]=;则*(a+1)的值是。
9、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是7。
10、表达式1.0/2*3的计算结果是0。
二、单项选择题(每题2分,共40分)
1、下列哪个是合法的用户自定义标识符(d )。
a.b-b b. float c. goto d. _isw
2、若变量已正确定义并赋值,表达式(c)不符合c语言语法。
a. a*b/c; b. 3.14%2 c. 2,b d. a/b/c
3、一个c程序的执行是(a)
a. 本程序的main函数开始,到main函数结束。
b. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
c. 本程序的main函数开始,到本程序文件的最后一个函数结束。
d. 本程序文件的第一个函数开始,到本程序main函数结束。
4、以下函数值的类型是(d)
fun(float x)
a. int b. 不确定 c. void d. float
5、设变量定义为“int x,*p=&x”;,则&*p相当于(c)。
a. p b. *p c. x d. *x
6、执行以下程序段后,i的值是(c)。
int i=10;
switch(i+1)
a. 11 b. 12 c. 13 d. 14
7、以下所列的c语言常量中,错误的是(b)
a. 0xff b. 1.2e0.5 c. 2l d. ‘72’
8、有以下程序段:
int k=0;
while(k=1) k++;
while循环执行的次数是(c)
a. 无限次 b. 有语法错误,不能执行 c. 一次也不执行 d. 执行一次。
9、当调用函数时,实参是一个数组名,则向函数传送的是(a)
a. 数组的长度b. 数组的首地址
c. 数组每一个元素的地址 d. 数组每个元素的值。
10、执行x=5>1+2&&2||2*4<4-!0后,x的值为(c)
a. -1 b. 0c. 1 d. 5
11、设ch是char型变量,其值为z,且有下面的表达式,其值为(a)
ch=(ch>=’a’&&ch<=’z’)?ch+32):ch
a. ab. ac. zd. z
12、设以下变量均为int型,则值不等于7的表达式是(d)
a. (x=y=6,x+y,x+1b. (x=y=6,x+y,y+1)
c. (x=6,x=1,y=6,x+y) d. (y=6,y+1,x=y,x+1)
13、若变量定义为“int a,b;”,执行下列语句时,输入(d),则a和b的值都是10。
scanf(“a=%d,b=%d”,&a,&b);
a. 10 10b. 10,10 c. a=10 b=10 d. a=10,b=10
14、在c语言中,5种基本数据类型的存储空间长度的排列顺序为(a)
a. charb. char=intc.
chard. char=int=long int<=float15、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(c)
a. -3 b. 9c. -12 d. 6
16、在嵌套使用if语句时,c语言规定else总是(c)
a. 和之前与其具有相同缩进位置的if配对 b. 和之前与其最近的if配对
c. 和之前与其最近的且不带else的if配对 d. 和之前的第一个if配对。
17、有如下函数调用语句:
fun(rec1,rec2+rec3,(rec4,rec5)))
该函数调用语句中,含有的实参个数是(a)
a. 3b. 4c. 5d. 有语法错误。
18、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(b)
a. 地址传递 b. 由实参传给形参 c. 单向值传递 d. 再由形参传回实参。
19、以下程序的输出结果是(c)
#define sqr(x) x*x
main()
int a=2,k=16,m=1;
a = k+a)/sqr(k+m);
printf(“%d”,a);
a. 16 b. 12c. 9d. 1
20、若用只读方式打开一个文本文件,只允许读数据,则文件打开方式应选择(b)
a. wb. rc. rbd. wb
三、判断题(每题1分,共5分。对的请打√,错的请打×)
1、c语言中,二维数组在内存中的存放方式为按行优先存放。(√
2、可以将一个数组的所有元素的值直接赋值给另外一个数组。(x)
3、结构体是不同数据类型的数据集合,作为数据类型, 必须先声明结构体类型,再定义结构体变量。(√
4、c语言中表达式65、字符处理函数gets的作用是将输入的一串字符依次存入指定的存储单元,该函数在读入回车键或空格键后停止读入字符。(√
四、程序阅读题(每题3分,共15分)
1、下列程序段的输出结果是:123。
char str=1a2b3c”;
int i;
for(i=0;str[i]!=0’;i++)
if(str[i]>=0’&&str[i]<=9’)
printf(“%c”,str[i]);
2、下列程序段的输出结果是:0。
int sum=0,i=11;
while(i<=10)
sum=sum+i;
i++;printf(“%d”,sum);
3、下列程序段的输出结果是:2 1 4 3。
void fun(int *x,int *y)
printf(“%d %d ”,x,*y);
*x=3;*y=4;
main()
int x=1,y=2;
fun(&y,&x);
printf(“%d %d ”,x,y);
4、下列程序段的输出结果是:*##。
main()
int k;
for(k=1;k<5;k++)
5、下列程序段的输出结果是:1 2 3
void main()
五、编程题(每题5分,共20分)
1、输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。
#include<>
#define n 10
void main()
char str[n];
int a=0,b=0,c=0,d=0,i;
printf(“请输入一串字符”);
gets(str);
for(i=0;i{
if (str[i]>=0’&&str[i]<=0’)
a=a+1;
elseif(str[i]=’
c++;else
d++;printf(“数字个数为:%d”,a);
printf(“字母个数为:%d”,b);
printf(“空格个数为:%d”,c);
printf(“其他字符个数为:%d”,d);
2、输入三个整数,输出其中最小值。
#include<>
int main()
int a,b,c,min;
printf(“输入三个整数:”);
scanf(“%d,%d,%d”,&a,&b,&c);
min=a;
if(min>b) min=b;
if(min>c) min=c;
printf(“min=%d”,min);
3、使用冒泡排序法对数组中的元素从小到大进行排序。
#include<>
#include<>
#define n 10
void main()
int i,j,t,a[n];
printf(“请输入十个整数:”)
for(i=0;iscanf(“%d”,&a[i]);
for(i=0;i{
for(j=0;iif(a[j]>a[j+1]
t=a[j];a[j]=a[j+1];a[j+1]=t;
for(i=0;i<10;i++)
printf(“%d”,a[i]);
printf(“”);
4、编写函数fun,其功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数由函数返回。
#include<>
#define n 10
void fun()
int i,**e=0,t=0,str[n];
printf(“请输入学生成绩”);
for (i=0;iscanf(“%d”,&str[i]);
for(i=0;i<10;i++)
**e=**e+str[i];
C语言练习试卷
一 选择题 每题2分,共20分 语言程序中可以对程序进行注释,注释部分必须用符号 括起来。a.b.和c.和 d.和 2.下列运算符中,优先级最低的是 abcd.3.有如下程序片段 int i 0 while i 2 printf d i 则正确的执行结果是 a.2 b.3 c.4 d.程序陷入死循环...
C语言练习试卷
一 选择题 每题2分,共20分 语言程序中可以对程序进行注释,注释部分必须用符号 括起来。a.b.和c.和 d.和 语言程序的三种基本结构是顺序结构 选择结构和 结构。a 循环 b 递归 c 转移 d 嵌套。3.有如下程序片段 int i 0 while i 2 printf d i 则正确的执行结...
C语言期末试卷
考试课程 c语言程序设计考试时间 120分钟 本卷共有3道大题 一 单项选择题 40道小题,共45分 1 若已定义x和y为整型变量,且x 7,则表达式y 2.3 x 2的值是 1分 a 6 b 5 c 5.0 d 6.0 2 已知字母a的ascii码为十进制数65,且定义c2为字符型变量,则执行语句...