2022年广州航海学院公共课《C语言》科目期末试卷A(有答案)
2022年广东轻工职业技术学院公共课《C语言》科目期末试卷B(有答案)

2022年广东轻工职业技术学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、假设变量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;_______;2、执行下面程序段后,k的值是_______。
k=1;n=263;do{k*=n%10;n/=10;} while(n);3、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);4、若a、b和c均是int型变量,则执行表达式a=(b=4)+(c=2)后a的值为_______,b的值为_______,c的值为_______。
5、假设m是一个3位数,从左到右依次用a、b、c表示各位的数字,则从左到右各位数字是b、a、c的3位数的表达式是_______。
6、下面程序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]);7、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。
8、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
9、结构化程序由________、________ 、________ 3种基本结构组成。
10、若想输出b数组的10个元素,则下面存在错误的程序行是_______。
2022年广东工业大学公共课《C语言》科目期末试卷B(有答案)

2022年广东工业大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
_______2、在C语言源程序中,一个变量代表【】。
3、C语言源程序的基本单位是________4、若a是int型变量,则执行表达式a=25/3%3后a的值为_______5、C语言中的标识符只能由3种字符组成,它们是_______、_______和_______6、测试char型变量a第6位是否为1的表达式是_______(设最右位是第1位)。
7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);8、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。
9、下面程序段的运行结果是_______。
int i=5;char c[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);10、定义语句int*f();int(*f)();的含义分别为_______和_______。
二、选择题11、C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符( )A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中任一种字符12、以下不正确的叙述是( )。
A.在C程序中,逗号运算符的优先级最低B.在C程序中,APH和aph是两个不同的变量C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放入a中,而b中的值不变D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值13、一个C程序的执行是从()A.本程序的main函数开始,到main函数结束B.本程序的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序的第一个函数开始,到本程序main函数结束14、以下叙述不正确的是( )A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面15、以下不正确的定义语句是()。
2022年中国民用航空飞行学院公共课《C语言》科目期末试卷A(有答案)

2022年中国民用航空飞行学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int a=-1;a=a|0377;printf("%d,%o\n",a,a);以上程序段的输出结果是_______。
2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、结构化程序由________、________ 、________ 3种基本结构组成。
4、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。
5、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。
6、下面程序段的运行结果是_______。
chara[]="12345",*p;int s=0;for(p=a;*p!=\0';p++)s=10*s+*p-'o';printf("%d\n",s);7、函数swap(int x,inty)可完成对x和y值的交换。
在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。
a[o]=1;a[1]=2;swap(a[o],a[1]);8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
9、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);10、设有以下宏定义:#define WIDTH 80#define LENGTH WIDTH+40则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。
2022年扬州大学广陵学院公共课《C语言》科目期末试卷A(有答案)

2022年扬州大学广陵学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。
2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。
5x7+3x6-4x5+2x1+x3-6x2+x+105、在C语言中的实型变量分为两种类型,它们是_______和_______。
6、函数process是一个可对两个整型数a和b进行计算的通用函数;函数max()可求这两个数中的较大者,函数min()可求它们中的较小者。
已有调用语句process(a,b,max);和process(a,b,min);。
请填空。
void process(_______){int result;result=(*fun)(x,y);printf("%d\n",result);}7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;10、下面程序段的运行结果是_______。
2022年南昌航空大学公共课《C语言》科目期末试卷A(有答案)

2022年南昌航空大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int a=-1;a=a|0377;printf("%d,%o\n",a,a);以上程序段的输出结果是_______。
2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、C语言的源程序必须通过【】和【】后,才能被计算机执行。
4、在C语言中,用“\”开头的字符序列称为转义字符。
转义字符“\n”的功能是_______;转义字符“\r”的功能是_______。
5、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。
5x7+3x6-4x5+2x1+x3-6x2+x+106、若有定义: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、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
9、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);10、下面程序段将输出computer。
请填空。
char c[]="It is a computer";for(i=0;_______;i++){_______;printf("%c",c[j]);}二、选择题11、对应以下各代数式中,若变量a和x均为double类型,则不正确的C语言表达式是( )12、设以下变量均为int类型,则值不等于7的表达式是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2022年广州航海学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数是_______。
2、在C语言源程序中,一个变量代表【】。
3、C语言的源程序必须通过【】和【】后,才能被计算机执行。
4、在C语言中,用“\”开头的字符序列称为转义字符。
转义字符“\n”的功能是_______;转义字符“\r”的功能是_______。
5、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______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、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;9、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
10、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。
二、选择题11、下面4个选项中,是不合法的转义字符的选项是()A.'\"'B.'\1011 'C.'\0ll'D.'\abe'\\ '\' '\f' '\0ll'\xf' ' \a' '\]' 'xlf'12、在C语言中,要求运算数必须是整型的运算符是( )。
(A) / B.++ C.!= D.%13、设有以下程序:#include<stdio.h>int main(){char cl,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);。
putchar(c2);printf("%c%c\n",c5,c6);return0;}若运行时从键盘输入数据:abc<回车>defg<回车>,则输出结果是()。
A.abcdB.abdeC.abefD.abfg14、以下程序的运行结果是()。
#include <stdio.h>int main(){int m=5,n=10;printf("%d,%d\n",m++,--n):return 0;}A.5,9B.6,9C.5,10D.6,1015、若有初始化inta[][3]={1,2,3,4,5,6,7};,则以下错误的叙述是()A.引用a数组时,元素的两个下标值均不能超过2B.a数组的第一维大小为3C.a数组中包含9个元素D.a数组中包含7个元素16、以下叙述正确的是A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可以发现注释中的拼写错误17、设有程序段:t=0;while(printf("*")){t++;if(t<3)break;}下面描述正确的是()。
A.其中循环控制表达式与0等价B.其中循环控制表达式与'0'等价C.其中循环控制表达式是不合法的D.以上说法都不对18、若用数组名作为函数调用的实参,则传递给形参的是()A.数组的首地址B.数组第一个元素的值C.数组中全部元素的值D.数组元素的个数19、设char*s="\ta\017bc”;则指针变量s指向的字符串所占的字节数()A.9B.5C.6D.720、若有以下定义和语句,则对a数组元素地址的正确引用为()。
int a[2][3],(*p)[3];p=a;A.*(p+2)B.p[2]C.p[1]+1D.(p+1)+221、以下程序的运行结果是()。
#include <stdio.h>int f(int x,int y){return(y-x)*x;}int main(){int a=3,b=4,c=5,d;d=f(f(a,C.,f(a,B.+f(c,B.);printf("%d\n",D.;return(0);}A.-48B.58C.-58D.4722、有已排好序的字符串a,下面的程序是将字符串s中的每个字符按a中元素的规律插入到a中。
请选择填空。
#include<stdio.h>int main(){char a[20]="cehikngtw",s[]="fbla";inti,k,j;for(k=0;s[k]!=\0';k++){ j=0;while(s[k]>=a[j]& &a[]!=\0)j++;for(i=strlen(a);i>=j;i--)[2];a[j]=s[k];puts(a);return 0;}A)a[i]=a[i+1] B)a[i+1]=a[i] C)a[i]=a[i-1] D)a[i-1]=a[i]23、下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。
请选择填空。
( )#include<stdio.h>int main(){char s[80],c1,c2='';int i=0,num=0;gets(s);while(s[i]!='\o'){ c1=s[i];if(i==0)c2='';else c2=s[i-1];if(【】)num++;i++;printf("There are%d words.\n",num);return 0;}A.c1==′′&&c2==''B.cl!= ''&&c2==''C.c1==''&&c2!=''D.cl!=''&&c2!=''24、以下程序()。
#include<stdio.h>int main(){int a=5,b=0,c=0;if(a=b+C.printf("***\n");else printf("$$$\n");return 0;}A.有语法错不能通过编译B.可以通过编译但不能通过连接C.输出***D.输出$$$25、下面程序的运行结果是()。
#include <stdio.h>int main(){int i;for(i=1;i<=5;i++){if(i%2)printf(”x");else continue;printf("#");printf("$\n");return 0;}A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$三、读程序填空26、以下程序的输出结果是_______。
#include<stdio.h>int main(){int a=252;printf("a=%oa=%#o\n",a,a);printf("a=%xa=%#x\n",a,a);return 0;}27、以下程序的输出结果是_______。
#include <stdio.h>int main(){int a=325;double x=3.1415926;printf("a=%+06dx=%+e\n",a,x);return 0;}28、以下程序的输出结果是_______。
#include<stdio.h>int main(){intx,y;x=5;switch(x){case1:case2:case3:case 4:printf("x<5\n");case 5:printf("x=5\n",x);default:printf("The value of x is unknown.\n");}return0;}29、以下程序的功能是:计算y年m1月d1日与同年的m2月d2日之间的天数(m2>=m1),并打印计算结果。
若ml=m2且d1=d2则算1天。
在闰年时,2月有29天。
闰年的年号由以下方式确定:该年号能被4整除但不能被100整除,或者该年号能被400整除则是闰年。
例如:输入1997,2,27,3,10<回车>时,输出为12。
表明从1997年2月27日到3月10日共有12天。
请填空。
#include<stdio.h>int main(){int y,ml,d1,m2,d2;int i,d;scanf("%d,%d,%d,%d,%d",&y,&m1,&d1,&m2,&d2);y=(y%4==0_______y%100!=0_______y%400==0)?1:0;d=0-d1;for(i=ml;i<m2;i++)switch(i){case 1:case 3:case 5:case 7:case 8:case 10:case 12:d+=31;break;case 2:d=d+28+y; break;case 4:case 6:case 9:case 11:_______;printf("%d",d+d2+1);return 0;}30、下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案。