中国民航大学2023年C语言
本试卷为中国民航大学2023年C语言,题目包括:填空题。
本卷包括如下题型:
C语言
一、填空题 (共40题,每题2.5分,共计100分)
1、c语言中getchar() 函数的功能是 ________ 。
2、int *p 的含义是 ________ 。
3、在循环中,continue语句与break语句的区别是:continue语句是语句的区别是:continue语句是 ________ ,break 是 ________ 。
4、执行下面程序段后,k值是________。
int k=1,n=263;
do
{
k*=n%10;
n/=10;
}
while(n);
5、定义4行3列的整型二维数组a的语句是________。
6、设int a; float f; double i; 则表达式10+’a’+i*f值的数据类型是________ 。
7、以下程序的功能是计算:s=1+12+123+1234+12345。请填空。
main()
{
int t=0,s=0,i;
for( i=1; i<=5; i++)
{
t=i+ ________ ;
s=s+t;
}
printf("s=%d\n",s);
}
8、若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句________。
9、以下程序的输出结果是________ 。
main()
{
int a[3][3]=
{{1,2,9},{3,4,8},{5,6,7}},i,s=0;
for(i=0;i<3;i++) s+=a[i][i]+a[i][3-i-1];
printf("%d\n",s);
}
10、以下程序的输出结果是 ________ 。
main()
{
int a=0 a+=(a=8);
printf("%d\n",a);
}
11、有一下程序
#include <stdio.h>
main()
{
int f,f1,f2,i;
f1=0;
f2=1;
printf("%d %d ",f1,f2);
for(i=3;i<=5;i++)
{
f=f1+f2;
printf("%d",f);
f1=f2;
f2=f;
}
printf("\n");
}
程序运行后的输出结果是 ________。
12、程序结果:
void main()
{
int a,b,sum;
a=123;
b=456;
sum=a+b;
printf("sum is %d\n",sum);
}
13、在c语言中,数组元素的下标从__________开始的。
14、若有"int a[3][2]={{1,2},{3},{4,5}};
",则a[0][1]的值是_____。
15、以下程序的输出结果为___________。
main()
{
char m ,n ;
m=getchar();
/*(输入d)*/n=m-34;
printf("%c",n);
}
16、以下程序的输出结果是________。
#inlcude <stdio.h>
main()
{
int c=67;
putchar(c+30);
}
17、c语言标识符的第一个字符必须为下划线或者________。
18、单精度型数据有效位为( )位。
19、执行下列的程序段后,正确的结果是________。
int m=4;
do printf("%d",m- =3) ;
while(--m );
20、下列程序段的运行结果是________。
char s1[20]="abcdef", s2[5]="abc";
strcpy(s1,s2);
printf("%c", s1[2]);
21、执行以下语句段
int i;
int fun(int x)
{
return ((x>0)?fun(x-1)+fun(x-2):1);
}
i=fun(3);
i的值为________。
22、若有int a[3]={1,2,3}; 则*(a+1)+1=________。
23、下列程序段的运行结果是_____。
#define sub(x , y) x-y
main( )
{
int a , b , s;
A=5, b=6;
S=sub(a,b);
printf("s=%d\n" , s);
}
24、对于文件末尾检测函数feof(),如果文件指针未到文件末尾,则函数返回值是________。
25、int y=1, x, *p, a[ ]={2,4,6,8,10};
p=&a[1];
for(x=0;x<3;x++) y + = * (p + x);
printf("%d\n",y);
程序的输出结果y的值是________ 。
26、双精度型数据有效位为______位
27、以下程序的运行结果是_____________。
main( )
{
int k, a[3][3]={1,2,3,4,5,6,7,8,9};
for( k=0;k<3;k ++)printf("%d,",a[k][k]);
}
28、定义二维数组int a[3][5]; ,那么该数组中的第6个元素的访问形式为 ______。27. 在程序运行过程中,其值能被改变的量称为________。
29、下面程序的运行结果是________。
#include <stdio.h>
main()
{
int a, b, i;
a = 1;
b = 3;
i = 1;
do
{
printf("%d,%d,", a, b);
a = (b - a) * 2 + b;
b = (a - b) * 2 + a;
if (i++ % 2 == 0) printf("\n");
}
while (b < 100);
}
30、c 语言规定,可执行程序的开始执行点是________。
31、请补充函数proc(),该函数的功能是:把从主函数中输入的由数字字符组成的字符串转换成一个无符号长整数,并且逆序输出。结果由函数返回。例如,输入:1234567,结果输出:7654321。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填人所编写的若干表达式或语句。 试题程序:
#include <stdio.h>
unsigned long proc(char*str)
{
unsigned long t=0: int k: int i=0;
i=str|en(str);
for( ________ ;i>=0;i--)
{
k= ________ ;
t= ________ ;
}
return t;
}
void main()
{
char str[8];
system("cls");
printf("enter a string made up of'0'to '9 ' digital character:\n");
gets(str);
printf("the string,is:%s\n",str);
if(strlen(str)>8) printf("the string is too tong!");
else printf("the result:%1u\n", proc(str));
}
32、下列给定的程序中,函数proc()的功能是:判断字符ch 是,与str所指字符串中的某个字符相同;
若相同,则什么也不做,若不同,则将其插在串的最后。请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序:
void proc(char str,char ch)
{
while(*str &&*str!=ch) str++;
if(*str==ch)
{
str[0]=ch;
str[1]='0':
}
}
void main()
{
char str[81],ch;
system("cls");
printf("\nplease enter a string:");
gets(str);
printf("\n please enter the character to search:");
ch=getchar();
proc(str,ch);
printf("\nthe result is%s\n",str);
}
33、以下的程序是求矩阵a,b的和,结果存入矩阵c中,并按矩阵形式输出。
#include<stdio.h>
void main()
{
int a[3][4]={{3,-2,7,5},{1,0,4,-3},{6,8,0,2}};
int b[3][4]={{-2,0,1,4} ,{5,-1,7,6},{6,8,0,2}};
int i,j,c[3][4];
for (i=0;i<3;i++)
for (j=0;j<4;j++) c[i][j]= _________;
for (i=0;i<3;i++)
{
for (j=0;j<4;j++) printf("%3d",c[i][j]);
________________;
}
}
34、语言的函数体一般由____和____构成
35、C语言中函数返回值的类型是由______决定的。
36、若x、y、z均为int型变量,则描述“x或y中有一个小于z”的表达式是______
37、在C语言中,表示静态存储类别的关键字______。
38、在C语言中的实型变量分为两种类型,它们是 ___和浮点型。
39、在scanf函数中,用符号______表示变量的地址。
40、指针是存放______的变量。
相关标签:
- C语言
- 中国民航大学