宁波工程学院2022年C语言期末
本试卷为宁波工程学院2022年C语言期末,题目包括:填空题。
本卷包括如下题型:
C语言期末
一、填空题 (共40题,每题2.5分,共计100分)
1、执行下列程序的输出结果是________。
main( )
{
float a=1,b;
b=++a*++a;
printf("%f\\n",b);
}
2、仅由顺序、选择(分支)和重复(循环)结构构成的程序是________程序。
3、有以下程序
#include<stdio.h>
main() {
int i,n[]={0,0,0,0,0};
for (i=1;i<=4;i++)
{
n[i]=n[i-1]*3+1;
printf("%d ",n[i]);
}
}
程序运行后的输出结果是________。
4、有以下程序
#include <stdio.h>
main()
{
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int b[3]={0},i;
for(i=0;i<3;i++) b[i]=a[i][2]+a[2][i];
for(i=0;i<3;i++) printf("%d",b[i]);
printf("\n");
}
程序运行后的结果是________。
5、现有两个c程序文件t18.c和myfun.c同在tc系统目录(文件夹)下,其中t18.c文件如下:
#include <stdio.h>
#include "myfun.c"
main()
{
fun();
printf("\n");
}
myfun.c文件如下:
void fun()
{
char s[80],c;
int n=0;
while((c=getchar())!=′\n′) s[n++]=c;
n--;
while(n>=0) printf("%c",s[n--]);
}
当编译连接通过后,运行程序t18时,输入thank!则输出结果是:________。
6、在c语言程序中,无论是一般磁盘文件还是设备文件,都可以通过文件结构类型的数据集合进行输入、输出操作。而且文件结构是由系统定义的,取名为_______。
7、在c语言数据类型中,一个无符号基本整型变量所代表的数据范围是__________到4294967295。
8、执行下列程序段后,输出的a的值是_____________。
main( )
{
int m = 0;
switch(m)
{
case 0: m=2*m+1;
break;
case 1: m=m-1;
break;
case 2: m=m+5;
break
}
printf("%d",m);
}
9、在c语言中,实参和形参之间的数据传递是【1】向的值传递。
10、ferror函数用来检测文件读写时是否发生错误,若未发生读写错误,则返回值是________。
11、数字'0'的ascii码值为多少()
12、sacii中小写字母-(____)=大写字母
13、在c语言中,假使x为字符变量,如果我们采用printf("格式控制",x)格式输出x,那么"格式控制"具体表示为"( )"。
14、c语言中与指针有关的两个运算符是________与*。
15、c语言中与指针有关的两个运算符是&与________。
16、已知"float a=3.5;int b=12;",则算术表达式"(int)(a+b/5)"的值是________。
17、下列程序段的运行结果是________。
int a[5]={1,2,3,4,5},*p;
p=a;
printf("%d", *(p=p+2) ) ;
18、在c语言中,若确实不要求返回函数值,则应将函数定义为( )类型。
19、以下程序的输出结果是________。
main()
{
int a=-1, b;
if(a<0) b=2*a+1;
else b=2*a-1;
printf("%d",b);
}
20、main()
{
int a[5]={2,4,6,8,10},*p,* *k;
p=a;
k=&p;
printf("%d,",*(p++));
printf("%d\n",* *k);
}
程序的输出结果是________。
21、字符读写函数( )是用于把一个字符写入磁盘文件。
22、以下程序的运行结果是_____________。
main( )
{
int k, a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
for( k=0;k<4;k ++)printf("%d,",a[k][k]);
}
23、以下程序运行的结果为________。
#include <stdio.h>
#include <string.h>
#define MOD(x,y) x%y
main( )
{
int i=3, j=8, k=5;
printf("%d\n", MOD(i+k,i-j));
}
24、将arr传参到子函数,接受处()内函数定义该怎么写?
25、|x|<10,写作程序为
26、使文件指针重新定位到文件读写的首地址的函数是________。
27、在c 语言中,输入操作是由库函数____完成的,输出操作是由库函数____完成的。
28、在c 语言中(以16 位pc 机为例),一个char 型数据在内存中所占的字节数为________; 一个int 型数据在内存中所占的字节数为________。
29、若a、b 和c 均是int 型变量,则计算表达式a=(b=4)+(c=2)后, a 的值为________,b 的值为________, c 的值为________。
30、在c 语言中,二维数组在内存中的存放顺序是________。
31、在c 语言中,一个函数一般由两个部分组成,它们是【1】和【2】。
32、以下程序的运行结果是【1】________,其算法是【2】________。
main()
{
int a[5]={5,10,-7,3,7},i,t,j;
sort(a);
for (i=0;i<=4;i++)printf("%3d",a[i]);
}
sort(int a[])
{
int i,j,k;
for (i=0;i<4;i++)for (j=0;j<4-i;j++)if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
33、以下程序运行后的输出结果是 ________
#include <stdio.h>
main()
{
int x=20;
printf("%d ",0<x<20);
printf("%d\n",0<x&&x<20);
}
34、有以下程序,程序执行后,输出结果是 ________ 。
#include <stdio.h>
void fun(int *a)
{
a[0]=a[1];
}
main()
{
int a[10]={10,9,8,7,6,5,4,3,2,1},i;
for(i=2;i>=0;i-- )fun(&a[i]);
for(i=0;i<10;i++) printf("%d",a[i]);
printf("\n");
}
35、下面程序的运行结果是________。
main()
{
int i,j,a[2][3]={{2,4,6},{8,10,12}};
printf("the original array is:\n");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)printf("%4d",a[i][j]);
printf("\n");
}
printf("\nthe result is:\n");
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)printf("%4d",a[j][i]);
printf("\n");
}
}
36、下列给定程序中,函数proc()的功能是计算正整数m 各位上数字的平方和。 例如,输入498,则输出应该是161。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h> long proc(10ng m)
{
long sum=1;
do
{
sum+=(m%10)*(m%10);
m/= 10;
}
while(m)
return(sum);
}
void main()
{
long n;
system("cls");
printf("please enter a number:");
scanf("%1d",&n);
printf("\n%ld\n",proc(n));
}
37、数学表达式10<y或者y<-10改写为c语言表达式是________。注:表达式要在英文半角状态下按原表达式顺序书写,且表达式中不要留空格。
38、C语言函数是由函数首部和函数体两部分组成。其中,函数首部包括 函数类型、函数名和______。
39、若有定义:double x[3][5];则数组中列下标的上限为_____ 。
40、在C语言中,以______作为字符串结束标志。
相关标签:
- C语言
- 宁波工程学院
- 期末