河南工业大学2022年C语言程序设计
本试卷为河南工业大学2022年C语言程序设计,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
C语言程序设计
一、单项选择题 (共20题,每题2分,共计40分)
( D )
1、有以下程序 main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d ",i,j,k); } 程序运行后的输出结果是________。
( A )
2、c 源程序中不能表示的数制是________。
( C )
3、若有定义"float a=25,b,*p=&b;",则下列对赋值语句"*p=a;"和"p=&a;"的正确解释为( )。
( B )
4、下列程序的输出结果是________。 main() { struct st { int y,x,z; } ; union { long i; int j; char k; } un; printf("%d,%d\n",sizeof(struct st),sizeof(un)) }
( B )
5、有以下程序 main() { int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf("%d",t[2-i][i]); } 程序执行后的输出结果是________。
( C )
6、有以下程序 main() { int k=4,n=0; for( ; n<k ; ) { n++; if(n%3!=0) continue; k--; } printf("%d,%d\n",k,n); } 程序运行后的输出结果是________。
( D )
7、以下能正确定义数组并正确赋初值的语句是______。
( C )
8、设有如下枚举类型定义: enum language { basic=3 , assembly , ada=100 , cobol , fortran }; 枚举量 fortran 的值为 。
( D )
9、在16位pc机上使用c语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是________。
( A )
10、以下叙述中错误的是______。
( C )
11、对于ascii 码在机器中的表示,下列说法正确的是________。
( B )
12、若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c); 给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是______。(ц代表一个空格符)
( C )
13、以下关于链式存储结构的叙述中哪一条是错误的?
( D )
14、以下能正确定义数组并正确赋初值的选项是______。
( B )
15、下列各语句序列中,能够将变量u.s 中最大值赋值到变量t 中的是________。
( D )
16、以下叙述中正确的是________。
( B )
17、假定所有变量均已正确定义,下列程序段运行后x的值是________。 k1=1; k2=2; k3=3; x=15; if(!k1) x--; else if(k2) x=4; else x=3;
( D )
18、下面说法中错误的是________。
( A )
19、执行以下循环语句时,下列说法正确的是________。x = -1; do { x = x * x; } while (x == 0);
( A )
20、从键盘上输入某字符串时,不可使用的函数是()。
二、填空题 (共10题,每题2分,共计20分)
1、在c语言中除了使用c提供的标准类型名(如int、char等)外,还可以用_________声明新的类型名来代替已有的类型名。
2、以下程序的输出结果是_____________。 main() { int a; printf("%d\n",(a=3*4,a*5,a+5)); }
3、一个3位的二进制数能表示几个数?
4、已知char str[]="student",则strlen(str)的值为________。
5、开发一个c程序要经过编辑、编译、()和运行4个步骤、
6、局部变量又称内部变量,是在函数( )定义的变量。
7、循环语句for(i=0;i<3;i++) printf("*"); 表达式i=0 执行【1】________次,表达式i++执行【2】________次。
8、若有定义: int a[3][4]={{1,2},{0},{4,6,8,10}}; 则初始化后,a[1][2] 得到的初值是【1】, a[2][1] 得到的初值是【2】。
9、以下程序的运行结果是【1】________,其算法是【2】________。 main() { int a[5]={9,6,8,3,-1},i,j,t,p; sort(a); for (i=0;i<=4;i++)printf("%3d",a[i]); } sort(int a[]) { int i,j,t,p; for (j=0;j<4;j++) { p=j; for (i=j;i<=4;i++)if(a[i]<a[p]) p=i; t=a[p]; a[p]=a[j]; a[j]=t; } }
10、以下程序在输入5,2之后的执行结果是________。 #include<stdio.h> void main() { int s,t,a,b; scanf("%d,%d",&a,&b); s=1; t=1; if(a>0) s=s+1; if(a>b) t=s+t; else if(a==b) t=5; else t=2*s; printf("s=%d,t=%d\n",s,t); }
三、编程题 (共3题,每题0分,共计40分)
1、编写程序:输出 200 ~ 300 之间的所有素数,要求每行输出 8 个素数。
2、定义⼀个结构体student,存储学⽣的学号、名字、性别和年龄,读⼊每个学⽣的所有信息,保存在结构体中,并输出。结构体student的定义如下: struct student { int num; char name[20]; char sex; int age; }; 本题要求使⽤指向结构体数组进⾏输⼊和输出。 输⼊: 第⼀⾏有⼀个整数n,表⽰以下有n个学⽣的信息将会输⼊。保证n不⼤于20。 以后的n⾏中,每⼀⾏包含对应学⽣的学号、名字、性别和年龄,⽤空格隔开。保证每⼀个⼈名都不包含空格且长度不超过15,性别⽤M和F两个字符来表⽰。 输出: 有n⾏,每⾏输出⼀个学⽣的学号、名字、性别和年龄,⽤空格隔开。 请注意⾏尾输出换⾏。 样例输⼊: 3 10101 LiLin M 18 10102 ZhangFun M 19 10104 WangMin F 20 样例输出: 10101 LiLin M 18 10102 ZhangFun M 19 10104 WangMin F 20
3、任意输入一行字符串保存在一维字符数组中,判断里面数字字符的个数。
相关标签:
- C语言
- 河南工业大学