一、选择题(每题2分。共23道选择题)
1、关于C程序的叙述,错误的说法是()
A、C程序总是从主函数开始执行
B、C程序中定义的第一个函数是主函数
C、在主函数中可以调用其他函数
D、一个C程序可以包括多个函数
2、C语言的基本数据类型包括()
A、char
B、struct
C、string
D、typedef
3、C语言的关键字是()
A、while
B、printf
C、main
D、FILE
4、错误的C标识符是()
A、e2
B、name_
C、A_B
D、2e
5、在下列运算中,优先级最低的运算符是()
A、= =
B、=
C、&&
D、+
6、设a、b和c都是int型变量,且a=7,b=8,c=9,则表达式(a*b)/c + 6 - 14%c的值是()
A、6
B、7
C、8
D、9
7、下列一维数组说明中,错误的是()
A、int a[]={1,2,3};
B、int a[5];
C、int n=5, a[n];
D、int a[5]={1,2,3};
8、执行语句:printf(“a\\nb”)输出的结果是()
A、a\\nb
B、ab
C、第一行输出a,第二行输出b
D、不能输出
9、要表示年龄(age)在18到25之间,正确的表达式是()
A、18<=age<=25
B、18<=age && age<=25
C、18<=age || age<=25
D、18<=age and age<=25
10、设有定义int a,*p;下列赋值语句中,正确的是()
A、p=a;
B、p=&a;
C、p=*a;
D、*p=&a;
11、若已经定义char a[10]={“abcd”}, *p=a;则表达式*(p+1)的值是()
A、abcd
B、bcd
C、b
D、语法错误
12、若已经定义struct stu{int a,b; } student; ,则下列叙述中正确的是()
A、stu 是结构变量
B、student 是结构变量
C、student 是结构类型
D、a和b是结构型变量
13、设有定义int a[10], *p=a; 下列对数组元素a[1]的引用中,错误的是()
A、p[1]
B、*(++a)
C、*(++ p)
D、*(a+1)
14、下列叙述中,错误的是()
A、不同函数中可以使用相同的变量名
B、全局变量和局部变量可以同名
C、形式参数是局部变量
D、main() 函数中定义的变量在整个程序中都可
15、设有函数定义:void p(int x){printf(“%d”, x);} 则正确的函数调用是()
A、p(3);
B、a=p(3);
C、printf("%d"; p(3));
D、p(int x);
16、有如下程序段union u{int a; int b; float c;}vu; vu.a=1; vu.b=2; vu.c=3;则vu.a的值是()
A、1
B、2
C、3
D、以上都不对
17、设有如下定义:int x=2 ,y; int fun(int *a){return *a+1;}下列函数调用中,实际参数正确的是()
A、y=fun(x);
B、y= fun (&x);
C、y=fun(*x);
D、y=fun(a);
18、设有宏定义#define N 3+2,则语句printf(“%d”, N*N);的输出结果为()
A、11
B、25
C、10
D、3;5
19、执行scanf(“%d+%d”,&a,&b);时,正确的键盘输入是()
A、3,5
B、3 5
C、3+5
D、3;5
20、执行if(a<=b){a=b;b=a;}else{a++;++b;}语句后,正确的说法是()
A、当条件满足时变量a和b的值对换
B、当条件满足时变量a和b的值不变
C、当条件不满足时变量a和b的值各增加1
D、当条件不满足时变量 b的值增加1,a不增加
21、设已定义int a=3, b=4; 执行if(a=b)printf(“aaa\\n”);else printf(“bbb\\n”);语句后,正确的说法是()
A、输出 aaa
B、输出 bbb
C、编译时会出错
D、运行时会出错
22、设有说明语句int x=1, y=2; 则执行表达式x=y= = 3后,变量x的值是()
A、0
B、1
C、2
D、3
23、已定义float f=1.2;执行语句printf(“%d\\n”,f);正确的说法是()
A、输出 1.2
B、输出 1
C、语法错误
D、可以输出,但不是1.2和1
二、阅读题。(每题6分。要求给出程序运行结果)
第1题:
#include #define N 5 int main(int argc, char *argv[]) { int i,t,a[]={1,2,3,4,5}; for(i=0;i t=a[i]; a[i]=a[N-i-1]; a[N-i-1]=t; } for(i=0;i printf("%d\\n",a[i]); } return 0; #include int test(int z) { int x=2; static int y=2; z+=++x; z+=++y; return z; } void main() { printf("%d\\n",test(1)); printf("%d\\n",test(2)); #include int a=1,b=1; f(int x,int *y) { x=3;*y=3; } main() { int b=2,c=2,d=2; f(c,&d); printf("a=%d\\n",a); printf("b=%d\\n",b); printf("c=%d\\n",c); printf("d=%d\\n",d); 第1题: #include void main() { int k,sum=0; printf("输入一个正整数(54842):"); scanf("%d",&k); //输入整数: 54842 while k { sum+=k/10; k/=10; } printf("sum=%d\\n",sum); //******以下部分不能修改!************ FILE *f; f=fopen("error1.txt fprintf(f,"%d\%d\\n",k,sum); fclose(f); #include void main() { int i,j for( i=1;i<=5;i++) { for( j=1;j<=i;j--) printf("%d\",j*j); printf("\\n"); } //******以下部分不能修改!************ FILE *f; f=fopen("error2.txt fprintf(f,"%d\%d\\n",i,j); fclose(f); 1、请在考生文件夹下的prog1.cpp文件中编写程序,要求:输入圆的半径r,计算并输出其周长C和面积S。(c=2*3.14159*r,s=3.14159*r*r)完成后保存并运行程序. 2、请在考生文件夹下的prog2.cpp文件中编写程序,要求:商场进行打折销售,如顾客一次购买商品100元~999元按9折结算,如一次购买商品1000元以上,则按8折结算。已知某顾客的采购金额,求该顾客的实际支付金额。完成后保存并运行程序. 3、请在考生文件夹下的prog3.cpp文件中编写程序,要求:输出所有个位数和百位数之和为10的三位正整数 (如:109,119,129, ......, 981,991) ,每行输出5个数,各个数之间用"\"分隔。完成后保存并运行程序. ==========================此后无内容============================
第2题:}
第3题:}
三、改错题(每题3个错,每改对一个加2分,如果把对的改错了,适当扣分但不能扣成负分)}
第2题:}
四、编程题(只要实现题目要求即得6分,完成部分功能适当得分)}