厦门大学非计算机专业本科生公共课 《C程序设计基础》模拟考试题
《C程序设计基础》模拟考试题
一、选择题(每题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
第1页
厦门大学非计算机专业本科生公共课 《C程序设计基础》模拟考试题
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(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);
第2页
厦门大学非计算机专业本科生公共课 《C程序设计基础》模拟考试题
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 第3页 厦门大学非计算机专业本科生公共课 《C程序设计基础》模拟考试题 { t=a[i]; a[i]=a[N-i-1]; a[N-i-1]=t; } for(i=0;i 第2题: #include 第4页 厦门大学非计算机专业本科生公共课 《C程序设计基础》模拟考试题 } printf(\printf(\printf(\三、改错题(每题3个错,每改对一个加2分,如果把对的改错了,适当扣分但不能扣成负分) 第1题: #include void main() { int k,sum=0; printf(\输入一个正整数(54842):\ scanf(\ //输入整数: 54842 while k { sum+=k/10; k/=10; } printf(\ //******以下部分不能修改!************ FILE *f; f=fopen(\ fprintf(f,\ fclose(f); } 第2题: #include 第5页 厦门大学非计算机专业本科生公共课 《C程序设计基础》模拟考试题 } 四、编程题(只要实现题目要求即得6分,完成部分功能适当得分) 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文件中编写程序,要求: 写一个函数,其功能是返回正整数n的位数。并设计一个主程序测试这个函数。完成后保存并运行程序. 4、请在考生文件夹下的prog4.cpp文件中编写程序,要求: 文本加密。输入一字符串,将其中所有的大写英文字母+3,小写字母-3,然后在输出加密后该句子的长度。 ==========================此后无内容============================ 第6页