河南工业大学2023年C语言程序设计期末试题
本试卷为河南工业大学2023年C语言程序设计期末试题,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言程序设计期末试题
一、单项选择题 (共50题,每题2分,共计100分)
( A )
1、与 y=(x>0?1:x<0?-1:0); 的功能相同的if语句是________。
( A )
2、下列叙述中正确的是________。
( C )
3、以下叙述中正确的是________。
( A )
4、下列程序中c的二进制值是________。 char a=2,b=4,c;c=a-b>>2;
( D )
5、读出以下语句的输出结果是________。 int x=10,y=10;printf("%d %d\n",x--,--y);
( D )
6、以下选项中能表示合法常量的是________。
( D )
7、以下能正确定义字符串的语句是________。
( B )
8、有以下程序
struct s
{
int x,y;
}
data[2]={ 10,100,20,200 };
main()
{
struct s *p=data;
printf("%d\n",++(p->x));
}
程序运行后的输出结果是________。
( A )
9、可在c程序中用作用户标识符的一组标识符是________。
( A )
10、若有以下的定义: int a[ ]={ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 }, *p=a; 则值为 3 的表式是______。
( B )
11、下列程序执行后的输出结果是 __________.
#include <stdio.h>
void main( )
{
int x,y=1,z;
if ((z=y)<0) x=4;
else if (y==0) x=5;
else x=6;
printf("%d,%d\n",x,y);
}
( C )
12、下面程序段的输出结果是 __________.
x=3;
do
{
y=x--;
if (!y)
{
printf("*");
continue;
}
printf("#");
}
while(x=2);
( C )
13、若有以下说明 : char s1[ ]={"tree"
} ,s2[]={"flower"};, 则以下对数组元素或数组的输出语句中 , 正确的是 _______ .
( B )
14、若有说明int a[3][4]; 则a数组元素的非法引用是________。
( A )
15、在c语言中,以下说法不正确的是________。
( A )
16、若i、j已定义为int型,则以下程序段中内循环的总的执行次数是________。 for(i=5;i>0;i--) for(j=0;j<4;j++)…
( D )
17、已知3个字符为:a、z和8,按它们的ascii码值升序排序,结果是________。
( D )
18、设有以下定义: int a[3][3]= { 1,2,3,4,5,6,7,8,9 }; int(*ptr)[3]=a; 则下列能正确表示数组元素a[1][2]的表达式是______。
( D )
19、执行下面的语句后,表达式*(p[0]+1)+**(q+2)的值为______。 int a[]= { 5,4,3,2,1 },*p[]= { a+3,a+2,a+1,a },**q=p;
( A )
20、下列描述说明正确的是________。
( B )
21、下列对变量的引用中,错误的是________。
( B )
22、在以下各标识符中,合法的用户标识符是________。
( A )
23、下列叙述中正确的是________。
( B )
24、递归算法的执行过程一般来说可先后分成______和______两个阶段。
( B )
25、以下不正确的定义语句是________。
( A )
26、c语言的基本数据类型包括________。
( C )
27、下列的程序用来输出两个字符串前7个字符中对应相等的字符及其位置号,程序空白处应该填写的是________。
#include<stdio.h>
main()
{
char sl[]="chinese",s2[]="japnese";
int i;
for(i=0;s1[i]!='\0'&&s2[i]!='\0';i++) if(s1[i]=s2[i]&&i<7) ____________________;
}
( C )
28、有以下程序
main()
{
int i;
for(i=1;i<=40;i++)
{
if(i++%5==0) if(++i%8==0) pfintf("%d",i);
}
printf("\n");
}
执行后的输出结果是________。
( B )
29、下列程序的输出结果是
#include "stdio.h"
#define N 3
#define M 3
void fun(int a[M][N]) {
printf("%d\n",*(a[1]+2));
}
main()
{
int a[M][N];
int i,j;
for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=i+j-(i-j);
fun(a);
}
( A )
30、设有说明语句如下: static char str[]="beijing"; 若执行下列输出语句: printf("%d\n",strlen(strcpy(str,"china")));
则输出结果为________。
( B )
31、以下叙述中正确的是________。
( A )
32、若有定义:char c; double d; 程序运行时输入: 1 2<回车>,能把字符 1 输入给变量 c数值 2 输入给变量 d 的输入语句是________。
( B )
33、若定义a=3,b=4,执行printf("%d, %d",(a,b),(b,a)); 的输出结果为________。
( C )
34、定义一个字符型变量,下列选项中正确的是________。
( B )
35、宏定义用于将一个标识符定义为一个
( B )
36、以下程序的结果是______。int a ,b;
void sun()
{
a=100;
b=200;
}
main()
{
int a=6,b=8;
sun();
printf("%d %d\n",a,b);
}
( A )
37、有以下程序
main()
{
int i=0,s=0;
do
{
if(i%2)
{
i++;
continue;
}
i++;
s+=i;
}
while(i<7);
printf("%d\n",s);
}
执行后输出的结果是______。
( C )
38、设 float f[10]; 则f数组中下标最大的元素的正确表示为________。
( B )
39、无符号二进制数后加上一个0,形成的数是原来的几倍?
( A )
40、a、b分别是整数6、-2,那么a对b求余与b对a求余的值分别为
( C )
41、下面不是c 语言整形常数的是________。
( A )
42、以下表达式中,其值不等于数值 3 的是________。
( D )
43、double x; scanf("%lf",&x); 不可以赋值给x变量的常量是________。
( C )
44、char *s1="hello",*s2; s2=s1; 则________。
( A )
45、下列字符数组长度为5的是________。
( B )
46、下列数据中属于"字符串常量"的是________。
( C )
47、以下程序的输出结果是________。
main()
{
int a=100;
printf("%d\n",++a);
}
( C )
48、判断两个字符串是否相等,正确的表达方式是
( C )
49、以下叙述中正确的是 ()。
( C )
50、以下叙述中错误的是________。
相关标签:
- C语言
- 河南工业大学
- 期末试题