黑龙江工程学院2022年C语言预测卷
本试卷为黑龙江工程学院2022年C语言预测卷,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言预测卷
一、单项选择题 (共50题,每题2分,共计100分)
( A )
1、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是________。
( B )
2、以下能正确定义二维数组的是________。
( C )
3、若整型变量a、b、c、d中的值依次为2、2、3、4,则条件表达式a<b?a:c
( B )
4、main( )
{
int n;
( n=6*4,n+6),n*2;
printf("n=%d\n",n);
}
此程序的输出结果是________.
( D )
5、若int i=10;
执行下列程序后,变量i的正确结果是________。 switch (i)
{
case 0: i+=1;
case 10: i+=1;
case 11: i+=1;
default: i+=1;
}
( D )
6、c语言允许将一条语句写在两行上,下列语句不正确是________。
( A )
7、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值:
( D )
8、有以下程序
#include <stdio.h>
void fun(char *t, char *s)
{
while(*t!=0) t++;
while((*t++=*s++)!=0);
}
min()
{
char ss[10]="acc",aa[10]="bbxxyy";
fun(ss,aa);
printf("%s,%s﹨n",ss,aa);
}
程序的运行结果是________。
( B )
9、以下定义语句中正确的是________。
( A )
10、设有如下程序段 char s[20]= "bejing",*p; p=s; 则执行p=s; 语句后,以下叙述正确的是________。
( D )
11、假定等级和分数有以下对应关系: 等级: a 分数: 85 ~ 100 等级: b 分数: 60 ~ 84 等级: c 分数: 60 以下 对于等级 grade 输出相应的分数区间,能够完成该功能的程序段是 __________.
( D )
12、以下程序的功能是 : 从键盘上输入若干个学生的成绩 , 统计并输出最高成绩和最低成绩 , 当输入负数时结束输入。请填空。 __________
#include<stdio.h>
void main( )
{
float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while (________ )
{
if (x>amax) amax=x;
if (______) amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}
( C )
13、在定义 int a[5][6]; 后,数组 a 中的第 10 个元素是__________ (设 a[0][0] 为第一个元素)
( D )
14、以下程序执行时输入 language programming< 回车 > , 输出结果是 __________.
#include <stdio.h>
void main( )
{
char str[30];
gets(str);
printf("str=%s\n",str);
}
( B )
15、在"先判断后工作"的循环程序结构中,循环体执行的次数最少是________次。
( B )
16、设有以下语句,则z的二进制值是 char x=3,y=6,z; z=x^y<<2:
( C )
17、下列属于不合法的c语言整型常量的选项是________。
( C )
18、设有如下定义:
struct sk
{
int n;
float x;
} data,*p;
若要使p指向data中的n域,正确的赋值语句是________。
( A )
19、若有定义语句:int a=3,b=2,c=1; 以下选项中错误的赋值表达式是______。
( C )
20、下面不属于条件语句关键字的是________。
( B )
21、在传值调用中,要求________。
( B )
22、在以下各标识符中,合法的用户标识符是________。
( B )
23、以下关于switch语句和break语句的描述中,正确的是______。
( B )
24、下面函数的功能是________。 a(s1,s2) char s1[],s2[]; while(s2++=s1++);
( B )
25、有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是________。
struct node
{
char data;
struct node *next;
}
a,b,*p=&a,*q=&b;
( B )
26、有以下程序:
main()
{
int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},ij;
for(i=0;i<4;i++)
{
for(j=0;j<=i;j++) printf("%4c",’);
for(j=______;j<4;j++) printf("%4d",num[i][j]);
printf("\n");
}
}
若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16 则在程序下划线处应填入的是 ______ 。
( C )
27、有以下程序:
main()
{
char str[]="xyz", *ps=str;
while(*ps) ps++;
for(ps--;ps-str>=o;ps--) puts(ps);
}
执行后的输出结果是________。
( D )
28、如果需要打开一个已经存在的非空文件"file"并进行修改,正确的语句是________。
( D )
29、若x,y均定义成int型,z定义为double型,以下不合法的scanf函数调用语句是________。
( A )
30、若有下面的说明和定义:
struct test
{
int m1;
char m2;
float m3;
union uu
{
char u1[5];
int u2[2];
}
ua;
}
myaa;
则sizeof(struct test)的值是________。
( C )
31、若有以下定义,则正确的语句是________。
union data
{
int i;
char c;
float f;
} a;
int n;
( B )
32、执行下面程序片段的结果是______。int x=23;
do
{
printf("%2d",x--);
}
while(!x);
( D )
33、下列叙述中正确的是______。
( C )
34、以下程序中函数f的功能是将n个字符串,按由大到小的顺序进行排序。
#include <string.h>
void f(char p[][10],int n)
{
char t[20];
int i,j;
for(i=0;i<n-1;i++)
for (j=i+1;j<n;j++)if(strcmp(p[i],p[j])<0)
{
strcpy(t,p[i]);
strcpy(p[i],p[j]);
strcpy(p[j],t);
}
}
main()
{
char p[][10]={"abc","aabdfg","abbd","dcdbe","cd"};
f(p,5);
printf("%d\n",strlen(p[0]));
}
程序运行后的输出结果是______。
( C )
35、设有数据定义语句"int a[200]; ",下列数组元素引用中下标不越界的是________。
( A )
36、printf函数中用到格式符%-6s,其中数字6表示输出的字符串占用6列。如果字符串长度小于6,则输出按方式 ________。
( C )
37、计算表达式*执行下面的程序段,变量 b 的值将变为 ▁▁▁▁▁。double a = 3, b; b = 1 / 2 + a;
( C )
38、下列不正确的转义字符是________。
( D )
39、以下关于注释的叙述中错误的是________。
( A )
40、以下选项中不合法的标识是________。
( B )
41、软件设计中模块划分应遵循的准则是________。
( B )
42、int (*p)[6]; 它的含义为________。
( A )
43、若有double *p,x[10]; int i=5; 使指针变量p指向元素x[5]的语句为________。
( D )
44、下面说法中错误的是________。
( C )
45、判断两个字符串是否相等,正确的表达方式是________。
( D )
46、若有说明 int a[][4]={0,0};
则下面不正确的叙述是________。
( C )
47、c语言规定,在一个源程序中,main函数的位置________。
( A )
48、C语言程序中,当调用函数时()。
( B )
49、以下语句中,不能实现回车换行的是()。
( C )
50、以下运算符中,优先级最高的运算符是()。
相关标签:
- C语言
- 黑龙江工程学院
- 预测卷