哈尔滨商业大学计算机C语言题库

本试卷为哈尔滨商业大学计算机C语言题库,题目包括:单项选择题,填空题,编程题。

覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。

计算机C语言题库

一、单项选择题 (共20题,每题2分,共计40分)

(  B  )
1、当变量c的值不为2、4、6时,值也为"真"的表达式是________。
A、(c==2)‖(c==4)‖(c==6)
B、(c>=2&&c<=6)‖(c!=3)‖(c!=5)
C、(c>=2&&c<=6)&&!(c%2)
D、(c>=2&&c<=6)&&(c%2!=1)
(  C  )
2、设整型变量n的值为2,执行语句"n+=n-=n*n; "后,n的值是________。
A、0
B、4
C、- 4
D、2
(  A  )
3、下列字符串是标识符的是________。
A、aa
B、a-class
C、int
D、LINE 1
(  C  )
4、有以下函数定义:
void fun(int n, double x)
{
……
}
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是________。
A、fun(int y,double m);
B、k=fun(10,12.5);
C、fun(x,n);
D、void fun(n,x);
(  A  )
5、以下不能正确进行字符串赋初值的语句是________。
A、char str[5]="good!";
B、char str[]="good!";
C、char *str="good!";
D、char str[5]={‘g',‘o',‘o',‘d'};
(  C  )
6、设有以下说明语句 struct stu
{
int a ;
float b ;
}
stutype ;
则下面的叙述不正确的是______。
A、struct 是结构体类型的关键字
B、struct stu 是用户定义的结构体类型
C、stutype 是用户定义的结构体类型名
D、a 和 b 都是结构体成员名
(  A  )
7、在 c 语言中 , 以下叙述不正确的是 ___________.
A、在 C 程序中 , 无论是整数还是实数 , 都能被准确无误的表示
B、在 C 程序中 , 变量名代表存储器中的一个位置
C、静态变量的生存期与整个程序的生存期相同
D、C 语言中变量必须先定义后引用
(  A  )
8、以下程序段运行结果是 __________. int x=1,y=1,z=-1; x+=y+=z; printf("%d\n",x<y?y:x);
A、1
B、2
C、4
D、不确定的值
(  D  )
9、设有如下定义 : char aa[2][20]={ "abcd", "abcd" }; 则以下说法中错误的是 __________.
A、aa 是个二维数组,可以存放 2 个 19 个字符以下的 字符串
B、aa 是个二维数组,每行中分别存放了字符串 "abcd" 和 "ABCD"
C、aa[0] 可以看作是一维数组名
D、aa[0][0] 可以看作是一维数组名
(  A  )
10、执行下面的程序段后,变量k的值为________。 int k=3,s[2]; s[0]=k; k=s[1]*10;
A、不定值
B、33
C、30
D、10
(  C  )
11、下列可作为c语言赋值的语句的是________。
A、x=3, y=5
B、a=b=6
C、i--;
D、a, c
(  D  )
12、有以下程序:
#include<stdio.h>
main()
{
int i=0,a=0;
while(i<20)
{
for(;;)
{
if((i%5)==0)break;
else i--;
}
i+=13,a+=i;
}
printf("%d\n",a);
}
程序的输出结果是________。
A、62
B、63
C、23
D、36
(  C  )
13、运行下面程序时,从键盘输入字母h,则输出结果是
#include<stdio.h>
main()
{
char ch;
ch=getchar();
switch(ch) {
case ’h’: printf("hello!\n");
case ’g’: printf("good morning!\n");
default : printf("bye_bye!\n");
}
}
A、Hello!
B、Hello!
GoodMoring!
C、Hello!
Goodmorning!
Bye_Bye!
D、Hello!
Bye_Bye!
(  C  )
14、c语言中下面哪个不是条件语句?
A、if
B、if else
C、NSLog
D、switch
(  B  )
15、以下选项中,能定义m为合法的结构体变量的是______。
A、typedef struct abc {
double a;char b;} m;
B、struct {
double a;char b;}m;
C、struct ABC {
double a;char b;} ABC m;
D、typedef ABC{
double a;char b; } ABC m;
(  C  )
16、字符’a’的ascii码为65,若定义char x=’a’,那么printf("%d" , x)的输入结果为________。
A、A
B、a
C、65
D、不确定
(  B  )
17、如下程序,输出结果为
void main()
{
float a=1;
printf("%f\n",a);
printf("%0.2f\n",a);
printf("%3.1f\n",a);
}
A、1\n1.00\n1.0
B、1.000000\n1.00\n1.0
C、1.000000\n1.00\n【空格】1.00
D、1\n1\n1
(  B  )
18、关于数组和指针,以下说法错误的是________。
A、数组名本身就是一个指针,指向数组内存的起始位置
B、既可以读入数据到数组中,也可以读入数据到未赋初值的指针中
C、可以让一个指针指向一个同类型的数组
D、指针可以指向同类型的数组中的任意一个元素
(  A  )
19、以下叙述中正确的是________。
A、int*p1;int**p2;int*p3 都是合法的定义指针变量的语句
B、指针变量只能通过求地址运算符(&)来获得地址值
C、语句 p=NULL;与 p=\0;是等价的语句
D、语句 p=NULL;执行后,指针 p 指向地址为 0 的存储单元
(  B  )
20、c语言中,定义结构体的保留字是________。
A、union
B、struct
C、enum
D、typedef

二、填空题 (共10题,每题2分,共计20分)

1、结构化程序设计的3种基本结构是:顺序结构、选择结构、______结构,这三种基本结构构成了复杂的c语言程序。
2、以下程序的输出结果是________。
#inlcude <stdio.h>
main()
{
int c=67;
putchar(c+30);
}
3、在c语言中,实参和形参之间的数据传递是【1】向的值传递。
4、字母'a'的ascii码值为多少()
5、静态存储的变量是在( )时分配存储单元并赋初值,在程序整个运行期间都不被释放。
6、局部变量又称内部变量,是在函数( )定义的变量。
7、a=3;
a+=(a<1)?a:1;
printf("%d",a);
结果是________。
8、改正下列程序中不正确的语句。
main( )
{
int a;
scanf("%d", a);
if (a = 1) printf("one\n") ;
}
9、赋值语句是由______加上一个分号构成。
10、C标准库函数中,字符串的处理函数包含在______头文件中,数学函数包含在math.h头文件中。

三、编程题 (共3题,每题0分,共计40分)

1、编写程序:从键盘输入 n (n<10)个学生的学号(学号为4位的整数,从1000开始)、成绩并存入结构数组中,查找并输出成绩最高的学生信息。
输入输出示例:括号内为说明,无需输入输出
输入样例:
3 (n=3)
1000 85
1001 90
1002 75
输出样例:
1001 90
2、编写程序,求在10~1000之间所有能被4除余3,被7除余4,被9除余4的数之和。
3、从键盘上输入一个字符串, 计算字符串里有多少个空格、小写字母、大写字母、数字。