2022年黄淮学院公共课《C语言》科目期末试卷A(有答案)
- 格式:docx
- 大小:87.52 KB
- 文档页数:17
2022年安徽工业大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、把int类型变量low中的低字节及变量high中的高字节放入变量s中的表达式是_______。
2、C语言源程序的基本单位是________3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
4、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______5、若有定义语句:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为_______6、设main函数的说明为:int main(int argc,char*argv[]),且有命令行为:FILE1123<回车>,则argc的值是_______,argv[1]的值是_______。
7、函数swap(int x,inty)可完成对x和y值的交换。
在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。
a[o]=1;a[1]=2;swap(a[o],a[1]);8、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;9、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);10、设有以下宏定义:#define WIDTH 80#define LENGTH WIDTH+40则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。
2022年潍坊医学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。
2、在C语言源程序中,一个变量代表【】。
3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
4、若a是int型变量,则执行表达式a=25/3%3后a的值为_______5、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______6、下面程序可求出图中方括号内的元素之积,请填空。
# include<stdio.h>int main(){ int x[3][3]={7,2,1,3,4,8,9,2,6};int s,*p;p=_______;s=*p*_______;printf("product=%d",s);return(0);}7、函数swap(int x,inty)可完成对x和y值的交换。
在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。
a[o]=1;a[1]=2;swap(a[o],a[1]);8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;10、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。
2022年信阳师范学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int a=1,b=2;if(a&b)printf("***\n");else printf("$$ $\n");以上程序段的输出结果是_______。
2、一个C语言源程序由若干函数组成,其中至少应含有一个________3、结构化程序由________、________ 、________ 3种基本结构组成。
4、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。
5、若有定义语句:inte=1,f=4,g=2;float m=10.5,n=4.0,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是_______。
6、下面程序可求出图中方括号内的元素之积,请填空。
# include<stdio.h>int main(){ int x[3][3]={7,2,1,3,4,8,9,2,6};int s,*p;p=_______;s=*p*_______;printf("product=%d",s);return(0);}7、函数swap(int x,inty)可完成对x和y值的交换。
在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。
a[o]=1;a[1]=2;swap(a[o],a[1]);8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);9、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
2022年山东师范大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、与表达式x^=y-2等价的另一书写形式是_______。
2、在C语言源程序中,一个变量代表【】。
3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
4、C语言中的标识符可分为关键字、_______和_______3类。
5、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。
6、以下程序段通过移动指针变量m,给如图9-7所示连续动态存储单元赋值。
请填空。
(假设程序段中的所有变量均已正确说明。
)for(k=0;k<10;k++,m++)scanf("%d",_______);7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;10、在C语言中,二维数组元素在内存中的存放顺序是_______。
二、选择题11、下面4个选项中,是非法常量的选项是( )。
12、下面4个选项中,是C语言关键字的选项是( )。
A.autoB. switchC. signedD. ifEnum typedef union structinclude continue scanf type13、若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是()A.scanf("%d%lx,%le",&x,&y,&z);B.scanf("%2d*%d%1f",&x,&y,&z);C.scanf("%x%*d%o”,&x,&y);D.scanf("%x%0%6.2f",&x,&y,&z);14、已有定义inta=-2;和输出语句:printf("%81x”,A.;以下正确的叙述()A.整型变量的输出格式符只有%d一种B.%x是格式符的一种,它可以适用于任何一种类型的数据C.%x是格式符的一种,其变量的值按十六进制输出,但%81x是错误的D.%81x不是错误的格式符,其中数字8规定了输出字段的宽度15、若有说明:inta[3][4];,则对a数组元素的非法引用是()。
2022年临沂大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。
2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、C语言源程序的基本单位是________4、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______5、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______6、若有定义:int a[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[3],k;则下面程序段的输出是_______。
for(k=0;k<3;k++)q[k]=8.a[k*4];printf("%d\n",q[2][3]);7、下面程序段中循环体的执行次数是_______。
a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
10、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。
二、选择题11、C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符( )A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中任一种字符12、表达式18/4*sqrt(4.0)/8值的数据类型为()A.intB.floatC.doubleD.不确定13、阅读以下程序,当输入数据的形式为25,13,10<回车>,程序的输出结果#include<stdio.h>int main(){int x,y,z;scanf("%d%d%d”,8.x.&y,&z);printf("x+y+z=%d\n",x+y+z);return0;}A.x+y+z=48B.x+y+z=35C.x+z=35D.不确定值14、以下针对scanf函数的叙述中,正确的是()。
2022年河南城建学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、与表达式x^=y-2等价的另一书写形式是_______。
2、C语言源程序的基本单位是________3、结构化程序由________、________ 、________ 3种基本结构组成。
4、假设m是一个3位数,从左到右依次用a、b、c表示各位的数字,则从左到右各位数字是b、a、c的3位数的表达式是_______。
5、设a、b、c均为int类型变量,请用C语言的表达式描述以下命题。
(1)a或b中有一个大于c_______(2)a、b和c中只有2个为正数_______(3)c是偶数_______6、设main函数的说明为:int main(int argc,char*argv[]),且有命令行为:FILE1123<回车>,则argc的值是_______,argv[1]的值是_______。
7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;9、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。
请填空。
_______;a=b;b=c;_______;10、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。
2022年安徽理工大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。
2、C语言源程序的基本单位是________3、结构化程序由________、________ 、________ 3种基本结构组成。
4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为_______,n的值为_______。
5、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______6、以下程序段通过指针变量q,但不移动q,将如图所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。
请填空。
(假设程序段中的所有变量均已正确说明。
)for(k=0;k<10;k++) printf("%d,",_______); printf("\n");7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}8、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
_______9、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。
请填空。
_______;a=b;b=c;_______;10、设有如下定义:#define SWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。
2022年南京工业大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。
2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、C语言的源程序必须通过【】和【】后,才能被计算机执行。
4、若采用十进制数的表示形式,则077为_______,0111为_______,0xab为_______。
5、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。
6、若有定义:int a[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[3],k;则下面程序段的输出是_______。
for(k=0;k<3;k++)q[k]=8.a[k*4];printf("%d\n",q[2][3]);7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。
请填空。
_______;a=b;b=c;_______;9、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);10、在C语言中,二维数组元素在内存中的存放顺序是_______。
2022年湖北工业大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。
2、结构化程序由________、________ 、________ 3种基本结构组成。
3、C语言源程序的基本单位是________4、若a是int型变量,则执行表达式a=25/3%3后a的值为_______5、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______6、下面程序段的运行结果是_______。
char s[80],*sp="HELLO!";sp=strcpy(s,sp);s[0]='h';puts(sp);7、执行下面程序段后,k的值是_______。
k=1;n=263;do{k*=n%10;n/=10;} while(n);8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);9、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
_______10、在C语言中,二维数组元素在内存中的存放顺序是_______。
二、选择题11、下面不正确的字符串常量是( )A.'abe'B."12'12"C. "o"D.""12、下面4个选项中,是合法转义字符的选项是( )。
A.’\"B. '\ 'C. ' \018'D. '\\o''\\ ' ' \017' '\f' '\10l''\n' '\ " ' xab' ' xlf'13、以下C程序的运行结果是。
2022年辽宁大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x是一个整数(16bit),若要通过xly使x低8位置1,高8位不变,则y的八进制数是_______。
2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、在C语言源程序中,一个变量代表【】。
4、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-3'的值为_______。
5、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______6、请填空:建立如图所示存储结构所需的说明语句是_______。
建立如图所示为变量a输入数据的输入语句是_______。
建立如图所示存储结构所需的赋值语句是_______。
7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。
请填空。
for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}8、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。
#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
2022年九江学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。
2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、C语言的源程序必须通过【】和【】后,才能被计算机执行。
4、在C语言中,用关键字_______定义单精度实型变量,用关键字_______定义双精度实型变量,用关键字_______定义字符型变量。
5、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为_______。
6、下面程序段的运行结果是_______。
char*p="PDP1-0";int i,d;for(i=0;i<7;i++){d=isdigit(*(p+i));if(d!=0)printf("%cx",*(p+i));}7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}8、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。
请填空。
_______;a=b;b=c;_______;9、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;10、字符串"ab\n\\012\\\"”的长度是_______。
二、选择题11、若有代数式3ac,则不正确的C语言表达式是( )。
2022年周口职业技术学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、一个C语言源程序由若干函数组成,其中至少应含有一个________2、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。
请填空。
for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}3、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);4、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。
#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}5、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
6、设a、b、c均为int类型变量,请用C语言的表达式描述以下命题。
(1)a或b中有一个大于c_______(2)a、b和c中只有2个为正数_______(3)c是偶数_______7、设有如下定义:#define SWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。
2022年滁州学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。
2、在C语言源程序中,一个变量代表【】。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、在C语言中,用关键字_______定义单精度实型变量,用关键字_______定义双精度实型变量,用关键字_______定义字符型变量。
5、若有定义语句:charc='\010';则变量c中包含的字符个数为_______。
6、下面程序段的运行结果是_______。
char*p="PDP1-0";int i,d;for(i=0;i<7;i++){d=isdigit(*(p+i));if(d!=0)printf("%cx",*(p+i));}7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
9、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);10、下面程序wdm的运行结果是_______。
int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);二、选择题11、下面4个选项中,是合法整型常量的选项是( )。
2022年南昌应用技术师范学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。
2、C语言的源程序必须通过【】和【】后,才能被计算机执行。
3、在C语言源程序中,一个变量代表【】。
4、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______5、若有定义语句:ints=6;则表达式s%2+(s+1)%2的值为_______6、请填空:建立如图所示存储结构所需的说明语句是_______。
建立如图所示为变量a输入数据的输入语句是_______。
建立如图所示存储结构所需的赋值语句是_______。
7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;10、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。
二、选择题11、已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='A'+'6'-'3';后,c2中的值为( )。
A.DB.68C.不确定的值D.C12、设以下变量均为int类型,则值不等于7的表达式是( )。
2022年安阳师范学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。
2、在C语言源程序中,一个变量代表【】。
3、结构化程序由________、________ 、________ 3种基本结构组成。
4、若a是int型变量,则执行表达式a=25/3%3后a的值为_______5、若有定义语句:ints=6;则表达式s%2+(s+1)%2的值为_______6、下面程序段的运行结果是_______。
Char a[]="123456789",*p;inti=0;p=a;while(*p){if(i%2==0)*p='*';p++;i++;}puts(a);7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);8、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;10、下面程序wdm的运行结果是_______。
int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);二、选择题11、下面4个选项中,是不合法的整型常量的选项是 ( )。
A.--0f1B.-0XcdfC.-018D.-0x48eg0xfff 017 999 -0680011 12.456 5e2 03f12、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不正确的表达式是( )。
2022年南阳职业学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、C语言的源程序必须通过【】和【】后,才能被计算机执行。
2、执行下面程序段后,k的值是_______。
k=1;n=263;do{k*=n%10;n/=10;} while(n);3、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。
请填空。
for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}4、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;5、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。
请填空。
_______;a=b;b=c;_______;6、在C语言中,用“\”开头的字符序列称为转义字符。
转义字符“\n”的功能是_______;转义字符“\r”的功能是_______。
7、设有以下宏定义:#define WIDTH 80#define LENGTH WIDTH+40则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。
8、下面程序段的运行结果是_______。
char s[20]="abcd";char*sp=s;sp++;puts(strcat(sp,"ABCD"));9、若有以下定义和语句,在程序中可通过指针数组p,用*(p[i]+j)等4种形式引用数组元素s[i][j],另3种形式分别是:_______、_______和_______。
(假设i、j已正确说明并赋值。
2022年宜春学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读以下函数:getbits(unsigned x,unsigned p,unsigned n)'{x=((x<<(p+1-n))&((unsigned)~0>>n));return(x);}假设机器的无符号整数字长为16位。
若调用此函数时x=0115032,p=7,n=4,则函数返回值的八进制数是_______。
2、一个C语言源程序由若干函数组成,其中至少应含有一个________3、结构化程序由________、________ 、________ 3种基本结构组成。
4、若采用十进制数的表示形式,则077为_______,0111为_______,0xab为_______。
5、在C语言中,用“\”开头的字符序列称为转义字符。
转义字符“\n”的功能是_______;转义字符“\r”的功能是_______。
6、若有以下定义和语句:int*p[3],a[6],i;for(i=0;i<3;i++)p[i]=8&a[2*i];则*p[0]引用的是a数组元素_______,*(p[1]+1)引用的是a数组元素_______。
7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}8、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
9、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
2022年安阳工学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读以下函数:getbits(unsigned x,unsigned p,unsigned n)'{x=((x<<(p+1-n))&((unsigned)~0>>n));return(x);}假设机器的无符号整数字长为16位。
若调用此函数时x=0115032,p=7,n=4,则函数返回值的八进制数是_______。
2、C语言源程序的基本单位是________3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若有定义语句:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为_______。
5、在C语言中的实型变量分为两种类型,它们是_______和_______。
6、已有一维数组a,n为元素的个数,且各元素均有值;函数void process (float*p,int n,float(*fun)(float*,int))为一个可完成下面各种计算的通用函数。
请分别写出用于以下计算的各函数中的调用语句_______、_______和_______。
(1)float arr_add(float*arr,int n)计算数组元素值之和。
(2)float odd_add(float*p,int n)计算下标为奇数的元素之和。
(3)float arr_ave(float*p,int n)计算各元素的平均值。
7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);8、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
2022年中国矿业大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读以下函数:getbits(unsigned x,unsigned p,unsigned n)'{x=((x<<(p+1-n))&((unsigned)~0>>n));return(x);}假设机器的无符号整数字长为16位。
若调用此函数时x=0115032,p=7,n=4,则函数返回值的八进制数是_______。
2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、C语言源程序的基本单位是________4、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。
5、设a、b、c均为int类型变量,请用C语言的表达式描述以下命题。
(1)a或b中有一个大于c_______(2)a、b和c中只有2个为正数_______(3)c是偶数_______6、下面程序段的运行结果是_______。
char*p="PDP1-0";int i,d;for(i=0;i<7;i++){d=isdigit(*(p+i));if(d!=0)printf("%cx",*(p+i));}7、执行下面程序段后,k的值是_______。
k=1;n=263;do{k*=n%10;n/=10;} while(n);8、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。
请填空。
_______;a=b;b=c;_______;9、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;10、下面程序段的运行结果是_______。
2022年黄淮学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。
2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、C语言源程序的基本单位是________4、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为_______5、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为_______。
6、下面程序段的运行结果是_______。
char s[20]="abcd";char*sp=s;sp++;puts(strcat(sp,"ABCD"));7、执行下面程序段后,k的值是_______。
k=1;n=263;do{k*=n%10;n/=10;} while(n);8、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。
请填空。
_______;a=b;b=c;_______;9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;10、下面程序段的运行结果是_______。
int i=5;char c[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);二、选择题11、在C语言中,char型数据在内存中的存储形式是()。
A.补码B.反码C.原码D.ASCII码12、下面4个选项中,是不合法的浮点数的选项是( )。
A.160.B.123C.-18D.-e313、有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&C.;为使变量a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应当是()。
(注:囗表示空格)A.132<回车>B.1,3,2<回车>C.a=1囗b=3囗c=2<回车>D.a=1,b=3,c=2<回车>14、设x、y均为float型变量,则以下不合法的赋值语句()。
A.++x;B.yy=(x%2)/10;C.x*=y+8;D.x=y=0;15、对以下定义语句的正确理解是()。
int a[10]={6,7,8,9,10};A.将6,7,8,9,10依次赋给a[1]~a[5]B.将6,7,8,9,10个初值依次赋给a[o]~a[4]C.将6,7,8,9,10个初值依次赋给a[6]~a[10]D.因为数组长度与初值的个数不相同,所以此初始化语句不正确16、一个C程序的执行是从()A.本程序的main函数开始,到main函数结束B.本程序的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序的第一个函数开始,到本程序main函数结束17、语句while(!E);中的表达式!E等价于()。
A.E==0B.E!=1C.E!=0D.E==118、C语言规定,简单变量作为实参时,它和对应形参之间的数据传递方式是()A.地址传递B.单向值传递C.由实参传给形参,再由形参传回给实参D.由用户指定传递方式19、下面能正确进行字符串赋值操作的是()。
A.char s[5]={"ABCDE');B.char s[5]={'A','B','C','D','E'};C.char*s;s="ABCDE";D.char*s;scanf("%s",s);20、有如下语句int a=10,b=20,*p1,*p2;p1=&a;p2=&b;如图所示;若要实现图所示的存储结构,可选用的赋值语句是()A.*p1=*p2;B.p1=p2;C.p1=*p2;D.*p1=p2;21、以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。
#include<stdio.h>#include <math.h>float f(float,float);int main(){floatx,y,z,sum;scanf("%f%1%f",8.x,&y,8.z);sum=f(【】)+f(z+y,z-y);printf("sum=%fNn",sum);return(0);}float f(float a,float B.{float value;value=a/b;return(value);}A)x-y,x+y B)x+y,x-y C)z+y,z-y D)z-y,z+y22、下面程序段的功能是输出两个字符串中对应相等的字符,请选择填空()。
charx[]="programming";char y[]="Fortran";int i=0;while(x[i]!='\o'&&.y[i]!='\o')if(x[i]==y[i])printf("%c",【】);else i++;A.x[i++]B.y[++i]C.x[i]D.y[i]23、定义如下变量和数组:int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。
for(k=0;k<3;k++)printf("%d",a[k][2-k]);A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 724、以下程序的输出是()。
#include <stdio.h>int main(){int x=1;if(x=2)printf("OK");else if(x<2)printf("%d\n",x);else printf("Quit");return 0;}A.OKB.QuitC.1D.无输出结果25、若运行以下程序时,从键盘输入3.62.4<回车>,则下面程序的运行结果是()# include<stdio.h># include<math.h>int main(){ float x,y,z;scanf("%f%f",&x,&y);z=x/y;while(1)if(fabs(z)>1.0){x=y;y=z;z=x/y;}else break;printf("%f\n",y);return 0;}A)1.500000 B)1.600000 C)2.000000 D)2.400000三、读程序填空26、有以下程序:#include<stdio.h>int main(){int k=0;char c1='a',c2='b';scanf("%d%c%c”,&k,&c1,&c2);printf("%d,%c,%c\n",k,c1,c2);return 0;}若运行时从键盘输入:55AB<回车>,则输出结果是_______。
27、以下程序的运行结果是_______。
#include<stdio.h>int main(){int n=0;n+=(n=10);printf("%d\n",n);return 0;}28、以下程序的运行结果是_______。
#include<stdio.h>int main(){intx=1,y,z;x*=3+2;printf("%d\t",x);x*=y=z=5;printf("%d\t',x);x=y= =z;printf("%d\n",x);return 0;}29、若有以下程序段,且grade的值为C,则输出结果是_______。
switch(grade){case'A':printf("85~100\n");case'B':printf("70~84n");case'C':printf("60~69\n");case'D':printf("(60\n");default:printf("error!\n");}30、下面程序段的运行结果是_______。
i=1;s=3;do{s+=i++;if(s%7==0)continue;else ++i;}while(s<15);printf("%d",i);31、以下程序的运行结果是_______。
#include<stdio.h>void sub(int x,int y);int x1=30,x2=40;int main(){int x3=10,x4=20;sub(×3,×4);sub(x2,x1);printf("%d,%d,%d,%d\n",x3,x4,x1,x2);return(0);void sub(int x,int y){x1=x;x=y;y=x1;}32、下面程序的功能是将二维数组a 中每个元素向右移一列,最右一列换到最左一列,移后的数组存到另一二维数组b 中,并按矩阵形式输出a 和b 。
请填空。
例如,数组a :[456123] 数组b :[456123] # include<stdio.h>int main(){int a[2][3]={4,5,6,1.2,3),b[2][3];int i,j;printf("array a:\n");for(i=0;i<=1;i++){ for(j=0;j<3;j++)printf("%5d",a[i][j]);printf("\n");___________for(_________;i++) b[i][0]=a[i][2];printf("array b:\n");for(i=0;i<2;i++){ for(j=0;j<3;j++)printf("%5d",b[i][j]);___________;return 0;}}33、若有以下输入(口表示空格),则下面程序的运行结果是_______。