补考要过
c语言考试没过开学要补考,有没有过来人给点题做作
我学校的练习题,没答案...可以看看~
一、单项选择题(每小题2分,共30分)
在每小题的四个备选答案中,只有一个答案是正确的,将选出的正确答案写在横线上,多选、不选均不得分。
1.组成C语言程序的是( )。
A)子程序
B)过程
C)函数
D)主程序和子程序
2.下面四个选项中,均是不合法的用户标识符的选项是( )。
A) A B) float C) b-a D) _123
P_0 la0 goto temp
do _A int INT
3.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )。
A)7 B)8 C)6 D)2
4.下面不正确的字符串常量是( )。
A)'abc' B)"12'12" C)"0" D)" "
5.在C语言中,要求运算数必须是整型的运算符是( )。
A) / B) ++ C) != D) %
6.若有说明语句:char c='\x65';则变量c( )。
A)包含1个字符 B)包含2个字符
C)包含3个字符 D)说明不合法,c的值不确定
7.表达式语句是由表达式后加( )构成的。
A) 逗号 B) 分号 C) 问号 D) 句号
8.逻辑运算符两侧运算对象的数据类型( )。
A) 只能是0或1
B) 只能是0或非0正数
C) 只能是整型或字符型数据
D) 可以是任何类型的数据
9.有:int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a>b)&&(n=c>d)后n的值是( )。
A) 1 B) 2 C) 3 D) 4
10.判断char型变量cl是否为小写字母的正确表达式是( )。
A)'a'<=cl<='z' B) (cl>=a)&&(cl<=z)
C) ('a'>=cl)||('z'<=cl) D) (cl>='a')&&(cl<='z')
11.以下程序的输出结果是( )。
main( )
{ int x=10, y=10,i;
for(i=0;x>8;y=++i)
printf("%d %d",x--,y);
}
A)10 1 9 2
B)9 8 7 6
C)10 9 9 0
D)10 10 9 1
12.设int a=1,则执行完循环While(a++<5);a的值是( )。
A)6
B)5
C)1
D)-264
13.下列程序片段中不正确的字符串赋值或初始化方式是( )。
A)char str[10]="string";
B)char str[7]={'s','t','r','i','n','g','\0'};
C)char str[10];
str="string";
D)char str[]="string";
14.以下程序的输出结果是( )。
main( )
{ int I, x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
for(I=0;I<4;I+=2)printf("%d ", p[I]);
}
A) 5 2
B) 5 1
C) 5 3
D) 9 7
15.若以“a+”方式打开一个已存在的文件,则以下叙述正确的是( )。
A) 文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作
B) 文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作
C) 文件打开时,原有文件内容被删除,只可作写操作
D) 以上各种说法皆不正确
二、填空题(本大题共10小题,每小题1.5分,共15分)
1.设char string[ ] =”cqeec”;则数组的最小长度应是( )。
2.函数调用时,若形、实参数均为数组,则其传递方式是( )。
3.设int k=-1;将k强制转换为双精度类型的表达式是( )。
4.C语言中形式参数的缺省存储类别是( )。
5.若有以下定义和语句,char s[12]="a book!";printf("%d",strlen(s));则输出结果是( )。
6.设变量a是整型,f是实型,i是双精度型,则表达式10 + 'a' + i * f值的数据类型为( )。
7.若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));
上面程序片段的输出结果是( )。
8.为表示关系x≥y≥z,应使用C语言表达式( )。
9.表示空类型的保留字是( )。
10.C语言中根据数据的组织形式,把文件分为文本文件和___________两种。
三、程序分析题(每小题5分,共25分)
1. #include “stdio.h”
main()
{
int a,b,c;
a=1;b=5;c=-1;
if (a++||++b) c++;
printf("%d%d%d\n",a,b,c);
}
输出结果是:__________________
2. #include<stdio.h>
void main()
{ char *s="12134211";
int a=0,b=0,c=0,d=0;
int k;
for(k=0;s[k];k++)
switch(s[k])
{ default:d++;
case'1':a++;
case'3':c++;
case'2':b++;
}
printf("a=%d,b=%d,c=%d,d=%d",a,b,c,d);
}
上述程序执行后,程序的输出结果是:______________
3.#include “stdio.h”
main()
{
int x,sum=3;
int a[ ]={2,3,4,5,6,7,8,9};
for (x=1;x<7;x*=2)
sum=sum+a[x];
printf(“sum=%d\n”, sum);
}
程序运行结果:_________________________
4. 请分析下面的程序片段,并完成后面的题目
main( )
{ char s1[ ]= "aBC",s2[ ]= "abc";
if (strcmp(s1,s2)= =0) printf("s1=s2");
else if (strcmp(s1,s2)>0) printf("s1>s2");
else printf("s1<s2");
}
输出结果是:__________________
5. #include “stdio.h”
main()
{
int a,b,s;
scanf(“%d%d”,&a,&b);
s=a;
if(a<b) s=b;
s=s * s;
printf(“s=%d\n”,s);
}
若执行上面的程序时从键盘上输入3和4,则输出结果是:____________
四、程序填空题(本大题共2小题,每空2分,共12分)
给出下列程序,将横线处缺少的部分补上,使其能正确运行
1.输入一个字符,判断它是否为大写英文字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
#include “stdio.h”
main( )
{
char ch;
scanf(“%c”,_____________);
if (_________________________) ch=ch+32;
printf(“%c\n”,_______________);
}
2. 输入三位正整数,分解为各个位数之和,例如423分解为4+2+3.
#include “stdio.h”
main( )
{
int n, c,c1,c2,c3;
printf(“Enter n=”);
scanf(“%d”,&n);
printf(“n=%d”,n);
c=0;c1=0;c2=0;c3=0;
c1=___________________; /*求百位*/
c2=(n-c1*100)/10;
c3=___________________; /*求个位*/
c =___________________;
printf(“s=%d\n”,c);
}
五、程序设计题(本大题共2小题,第一小题8分,第二小题10分,共18分)
1.编写程序,从键盘输入10个整型数据,分别统计正数、负数和零的个数,并将统计结果输出。
2.试利用结构体类型编制一程序,实现输入三个学生的学号、姓名及C语言期中和期末成绩然后计算并输出其平均成绩。