青岛理工大学历年C语言期末
本试卷为青岛理工大学历年C语言期末,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言期末
一、单项选择题 (共50题,每题2分,共计100分)
( A )
1、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是________。
( C )
2、若a为int类型,且其值为3,则执行完表达式a+= a-=a*a后,a的值是________。
( A )
3、当输入为"hello?"时,下面程序的执行结果是________。
main()
{
char c;
c=getchar();
while(c!='?')
{
putchar(e);
break;
}
}
( D )
4、若有如下定义语句: int a[10]= { 1,2,3,4,5,6,7,8,9,10 } ; 则对数组正确的引用是________。
( B )
5、下面叙述不正确的是________。
( B )
6、若 x 为 int 型变量 , 则执行以下语句后 ,x 的值为 。 x=6; x+=x-=x*x;
( A )
7、执行下面程序时 , 若从键盘输入 "2<cr>" ,则程序的运行结果是 __________.
#include <stdio.h>
void main( )
{
int k;
char cp;
cp=getchar( );
if (cp>='0' && cp<='9') k=cp-'0';
else if (cp>='a' && cp<='f') k=cp-'a'+10;
else k=cp-'a'+10;
printf("%d\n",k);
}
( D )
8、下面程序的输出结果是 ____________.
main( )
{
int i,k=0, a=0, b=0;
for(i=1;i<=4;i++)
{
k++;
if (k%2==0)
{
a=a+k;
continue;
}
b=b+k;
a=a+k;
}
printf("k=%d a=%d b=%d\n",k,a,b);
}
( C )
9、若函数调用时用数组名作为函数参数,以下叙述中,不正确的是 __________.
( A )
10、下面不是c语言整型常量的是________。
( B )
11、c语言的跳转语句中,对于break和continue说法正确的是________。
( B )
12、下列属于c语言保留字的是________。
( D )
13、设有语句:"int a=1,b=2,*p1=&a,*p2=&b; ",则使指针p1指向变量b的赋值语句是______。
( A )
14、下列关于宏操作的叙述错误的是________。
( D )
15、对于c语言中的函数,正确的叙述是________。
( B )
16、若要定义a为3×4的二维数组,正确的定义语句是________。
( A )
17、在c程序中,判断逻辑值时,分别用( )表示逻辑值"真"、"假"。
( A )
18、如果int i=3,则k=(++i)+(++i)+(i++)执行过后k的值为______,i的值为______。 ( )
( B )
19、下列形式的常数中,不符合c语言语法规范的是______。
( D )
20、下列4种不同数制表示的数中,数值最小的一个是________。
( A )
21、下述程序执行的输出结果是________。
#include<stdio.h>
main() {
char a[2][4];
strcpy(a,"are");
strcpy(a[1], "you");
a[0][3]='&';
printf("%s\n",a);
}
( A )
22、有以下程序
struct s
{
int n;
int a[20];
};
void f(int *a,int n)
{
int i;
for(i=0;i<n-1;i++)a[i]+=i;
}
main()
{
int i;
struct s s={10,{ 2,3,1,6,8,7,5,4,10,9}};
f(s.a,s.n);
for(i=0; i<s.n; i++)printf("%d,",s.a[i]);
}
程序运行后的输出结果是________。
( D )
23、若下列选项中的各变量均为整型且已有值,其中不正确的赋值语句是________。
( A )
24、两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是________。
#include<stdio.h>
main() {
int x;
scanf("%d",&x);
if(x++>2)printf("%d",x);
else printf("%d\n",x--);
}
( A )
25、下列合法的字符型常量是________。
( D )
26、若有以下说明和定义:
union dt {
int a;
char b;
double c;
} data;
以下叙述中错误的是________。
( D )
27、有以下程序:
#include <stdio.h>
struct s
{
int a, b;
}
data[2]= {10, 100, 20, 200 };
main()
{
struct s p=data[1];
printf("%d\n", ++(p.a));
}
程序运行后的输出结果是______。
( C )
28、下列关于c语言字符数组描述正确的是________。
( C )
29、顺序执行下列程序语句后,则b的值是 string a="hello"; string b=a.substring(0,2);
( D )
30、若x,y均定义成int型,z定义为double型,以下不合法的scanf函数调用语句是________。
( B )
31、宏定义用于将一个标识符定义为一个
( D )
32、关于fscanf()函数,下列描述中错误的是________。
( B )
33、若变量已正确定义,有以下程序段int a=3,b=5,c=7;
if(a>b) a=b;
c=a;
if(c!=a) c=b;
printf("%d,%d,%d\n",a,b,c);
其输出结果是______。
( C )
34、若有定义语句:int m[ ]= {5,4,3,2,1},i=4; 则下面对m数组元素的引用中错误的是______。
( D )
35、有以下程序
#include <stdio.h>
main()
{
struct stu
{
char name[9];
char sex;
double score[2];
}
;
struct stu a={"zhao",'m',85.0,90.0},b={"qian",'f',95.0,92.0};
b=a;
printf("%s,%c,%2.0f,%2.0f\n",b.name,b.sex,b.score[0],b.score[1]);
}
程序的运行结果是______。
( B )
36、以下叙述中正确的是______。
( D )
37、循环语句"for(i=1;i<0;i++) i++; "的循环次数是________。
( C )
38、有以下程序:
int fun(int x)
{
int P;
if(x==0||x==1)return(3);
p=x-fun(x-2);
return P;
}
main()
{
printf(”%d”,fun(7));
}
执行后的结果是________。
( B )
39、二维数组a有m行n列,则在a[i][j]之前的元素个数为________。
( C )
40、下列语句中,不正确的是________。
( C )
41、若有说明:int a[][4]={1,1} 则以下叙述正确的是________。
( D )
42、以下说法错误的是________。
( A )
43、以下叙述中错误的是________。
( C )
44、以下叙述中正确的是________。
( B )
45、执行下列语句后,a和b的值分别为________。(注:a的accii码值为:97,a的accii码值为:65) int a,b; a=1+'a'; b=2+7%-4-'a';
( A )
46、下列数组说明中,正确的是________。
( A )
47、若有double *p,x[10]; int i=5; 使指针变量p指向元素x[5]的语句为________。
( C )
48、以下叙述中错误的是________。
( C )
49、以下叙述中正确的是____
( D )
50、若有char s1[]="abc",s2[20],*t=s2;gets(t);则下列语句中能够实现当字符串 s1 大于字符串 s2 时,输出 s2 的语句是()。
相关标签:
- C语言
- 青岛理工大学
- 期末