2022年河南工业大学公共课《C语言》科目期末试卷A(有答案)

合集下载

2022年五邑大学公共课《C语言》科目期末试卷A(有答案)

2022年五邑大学公共课《C语言》科目期末试卷A(有答案)

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、b、c均为int类型变量,请用C语言的表达式描述以下命题。

(1)a或b中有一个大于c_______(2)a、b和c中只有2个为正数_______(3)c是偶数_______5、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。

6、以下程序段通过移动指针变量m,给如图9-7所示连续动态存储单元赋值。

请填空。

(假设程序段中的所有变量均已正确说明。

)for(k=0;k<10;k++,m++)scanf("%d",_______);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、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。

2022年郑州大学公共课《C语言》科目期末试卷B(有答案)

2022年郑州大学公共课《C语言》科目期末试卷B(有答案)

2022年郑州大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。

struct s{char data;_______}node;2、一个C语言源程序由若干函数组成,其中至少应含有一个________3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、假设m是一个3位数,从左到右依次用a、b、c表示各位的数字,则从左到右各位数字是b、a、c的3位数的表达式是_______。

5、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。

5x7+3x6-4x5+2x1+x3-6x2+x+106、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。

7、下面程序段的运行结果是_______。

x=2;do{printf("*");x--;)while(!x==0);8、若有定义floata[3][5];则a数组所含数组元素个数是_______,a数组所占的字节数是_______。

9、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。

10、以下程序段通过指针变量q,但不移动q,将如图所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。

请填空。

(假设程序段中的所有变量均已正确说明。

)for(k=0;k<10;k++) printf("%d,",_______); printf("\n");二、选择题11、下面不正确的字符串常量是( )A.'abe'B."12'12"C. "o"D.""12、表达式18/4*sqrt(4.0)/8值的数据类型为()A.intB.floatC.doubleD.不确定13、一个C语言程序由( )。

2022年南京工业大学公共课《C语言》科目期末试卷A(有答案)

2022年南京工业大学公共课《C语言》科目期末试卷A(有答案)

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语言》科目期末试卷B(有答案)

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、C语言源程序的基本单位是________3、结构化程序由________、________ 、________ 3种基本结构组成。

4、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。

5、若x和a均是int型变量,则执行表达式(1)后的x值为_______,执行表达式(2)后的x值为_______。

(1)x=(a=4,6*2)(2)x=a=4,6*26、请读程序段:int a=1,b=2;if(a&b)printf("***\n");else printf("$$ $\n");以上程序段的输出结果是_______。

7、执行下面程序段后,k的值是_______。

k=1;n=263;do{k*=n%10;n/=10;} while(n);8、假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是_______。

9、下面程序段的运行结果是_______。

char ch[]="600";int a,s=0;for(a=0;ch[a]>= '0'&&ch[a]<='9';a++)s=10*s+ch[a]-'o';printf("%d",s);10、以下程序段通过移动指针变量m,将如图9-5所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。

2022年河南艺术职业学院公共课《C语言》科目期末试卷B(有答案)

2022年河南艺术职业学院公共课《C语言》科目期末试卷B(有答案)

2022年河南艺术职业学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、一个C语言源程序由若干函数组成,其中至少应含有一个________2、下面程序段中循环体的执行次数是_______。

a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);3、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。

在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。

a[0]=1;a[1]=2;swap(a,2);4、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。

5、把int类型变量low中的低字节及变量high中的高字节放入变量s中的表达式是_______。

6、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为_______。

7、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。

struct s{char data;_______}node;8、假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是_______。

9、若有定义floata[3][5];则a数组所含数组元素个数是_______,a数组所占的字节数是_______。

10、若有以下定义和语句: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数组元素_______。

二、选择题11、下列4组选项中,不是C语言关键字的选项是。

()A.defineB.getcC.includeD.whileIF char scanf goType printf case pow12、在C语言中,char型数据在内存中的存储形式是()。

2022年郑州经贸学院公共课《C语言》科目期末试卷A(有答案)

2022年郑州经贸学院公共课《C语言》科目期末试卷A(有答案)

2022年郑州经贸学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:unsigned a=16;printf("%d,%d,%d\n",a>>2,a=a>>2,a);以上程序段的输出结果是_______。

2、结构化程序由________、________ 、________ 3种基本结构组成。

3、C语言源程序的基本单位是________4、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。

5、若有定义语句:ints=6;则表达式s%2+(s+1)%2的值为_______6、请填空:建立如图所示存储结构所需的说明语句是_______。

建立如图所示为变量a输入数据的输入语句是_______。

建立如图所示存储结构所需的赋值语句是_______。

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、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。

请填空。

a+=_______;b=a-_______;a-=_______;10、设有如下定义:#define SWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。

Double x=2.5,y=6.4,z;SWAP(_______);二、选择题11、下面4个选项中,是合法整型常量的选项是( )。

A.160B.-0xcdfC.-01D.-0x48a-0xffff 01a 986 0122e5011 0xe 066 80x12、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不正确的表达式是( )。

2022年湖南工业大学公共课《C语言》科目期末试卷A(有答案)

2022年湖南工业大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、测试char型变量a第6位是否为1的表达式是_______(设最右位是第1位)。

2、结构化程序由________、________ 、________ 3种基本结构组成。

3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-3'的值为_______。

5、若有定义语句:ints=6;则表达式s%2+(s+1)%2的值为_______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、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。

在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。

a[0]=1;a[1]=2;swap(a,2);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、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2022年河南工业大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int a=1,b=2;if(a&b)printf("***\n");else printf("$$ $\n");以上程序段的输出结果是_______。

2、结构化程序由________、________ 、________ 3种基本结构组成。

3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。

4、在C语言中,8作为双目运算符时表示的是_______,而作为单目运算符时表示的是_______。

5、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。

6、以下程序段通过移动指针变量m,将如图9-5所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。

请填空。

(假设程序段中的所有变量均已正确说明。

)for(m=q;m-q<10;m++)printf("%d,",_______);printf("\n");7、下面程序段中循环体的执行次数是_______。

a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。

请填空。

a+=_______;b=a-_______;a-=_______;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、下面正确的字符常量是( )A."c"B. "\\"C. 'w'D. "12、下面4个选项中,是不合法的转义字符的选项是()A.'\"'B.'\1011 'C.'\0ll'D.'\abe'\\ '\' '\f' '\0ll'\xf' ' \a' '\]' 'xlf'13、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是()。

A.int a=b=c=5;B.int a,b,c=5;C.a=5,b=5,c=5;D.a=b=c=5;14、以下针对scanf函数的叙述中,正确的是()。

A.输入项可以为一实型常量,如scanf("%f",3.5);B.只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D.当输入数据时,必须指明变量的地址,如scanf("%f",&f);15、若有说明:inta[3][4];,则对a数组元素的非法引用是()。

A.a[o][2*1]B.a[1][3]C.a[4-2][ o]D.a[o][4]16、以下叙述不正确的是( )A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面17、以下描述中正确的是( )A.while、do-while、for循环中的循环体语句都至少被执行一次B.do-while循环中,while(表达式)后面的分号可以省略C.while循环体中,一定要有能使while后面表达式的值变为“假”的操作D.do-while 循环中,根据情况可以省略 while18、C语言规定,简单变量作为实参时,它和对应形参之间的数据传递方式是()A.地址传递B.单向值传递C.由实参传给形参,再由形参传回给实参D.由用户指定传递方式19、下面程序段的运行结果是()。

char*s="abcde";s+=2;printf("%d',s);A.cdeB.字符cC.字符c的地址D.无确定的输出结果20、设char*s="\ta\017bc”;则指针变量s指向的字符串所占的字节数()A.9B.5C.6D.721、折半查找法的思路是:先确定待查元素的范围,将其分成两半,然后测试位于中间点元素的值。

如果该待查元素的值大于中间点元素,就缩小待查范围,只测试中点之后的元素;反之,测试中点之前的元素,测试方法同前。

函数binary的作用是应用折半查找法从存有10个有序整数的a数组中对关键字m进行查找,若找到,返回其下标值;反之,返回-1。

请选择填空。

int binary(int a[10],int m){int low=0,high=9,mid;while(low<=high){mid=(low+high)/2;if(m<a[mid])high=mid-1;else if(m>a[mid])【】;else return(miD.;return(一1);}A.high=mid-1B.low=mid+1C.high=mid+1D.low=mid-122、对两个数组a和b进行如下初始化:char a[]="ABCDEF";charb[]={'A','B','C','D','E','F'};则以下叙述正确的是()。

A.a与b数组完全相同B.a与b长度相同C.a和b中都存放字符串D.a的长度比b长23、下面程序的运行结果是()。

#include<stdio.h>int main(){chara[]="morming",t;int i,j=0;for(i=1;i<7;i++)if(a[j]<a[ ]) j=i;t=a[j];a[j]=a[7];a[7]=a[j]; puts(a);return 0;}A)mogninr B)mo C)morning D)mornin24、以下程序的输出是( )。

#include<stdio.h>int main(){int a=100,x=10,y=20,okl=5,ok2=0;if(x<y)if(y!=10)if(!ok1)a=1;elseif(ok2)a=10;printf("%d\n",A.;return 0;}A.1B.0C.-1D.值不确定25、下面程序段的运行结果是()。

int n=0;while(n++<=2);printf("%d",n);A.2B.3C.4D.有语法错三、读程序填空26、以下程序的输出结果为_______。

#include<stdio.h>int main(){short i;i=一4;printf("\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n",i,i,i,i);return 0;}27、以下程序的输出结果为_______.#include <stdio.h>int main(){printf("*%f,%4.3f*\n",3.14,3.1415);}28、若运行以下程序时输入:35/<回车>,则程序的运行结果是_______。

#include <stdio.h>int main(){float x,y;char o;double r;scanf("%f%f%c",&x,&y,&o);switch(o){case'+':r=x+y;break;case'-':r=x-y;break;case'*':r=x*y;break;case'/':r=x/y;break;printf("%f",r);return 0;}29、某服装店经营套服且单件出售。

若一次购买不少于50套,则每套80元;若不足50套,则每套90元;只买上衣每件60元;只买裤子每条45元。

以下程序的功能是读入所买上衣c和裤子t的件数,计算应付款数m。

请填空。

#include<stdio.h>int main(){int c,t,m;printf("input the number of coat and trousers you want to buy:\n");scanf("%d%d",&c,&t);if(_______)if(c>=50)m=c*80;else m=c*90;else if(_______)if(t>=50)m=t*80+(c-t)*60;else m=t*90+(c-t)*60;else if(_______)m=c*80+(t-c)*45;else m=c*90+(t-c)*45;printf("%d",m);return 0}30、当运行以下程序时,从键盘输入“一10<回车>”,则下面程序的运行结果是_______。

#include<stdio.h>int main(){int a,b,m=1,n=1;scanf("%d%d”,&a,&b);do{if(a>0){m=2*n;b++;}else{n=m+n;a+=2;b++;}}while(a==b);printf("m=%d n=%d",m,n);return 0;}31、已定义一个含有30个元素的数组s,函数favl的功能是按顺序分别赋予各元素从2开始的偶数,函数fav2则按顺序每5个元素求一个平均值,并将该值存放在数组w中。

请填空。

#include<stdio.h>#define SIZE30void favl(float s[]){int i;float k=2.0;for(i=0;i<SUZE;i++){_______;k+=2;}}void fav2(float s[],float w[]){float sum;int k,i;sum=0.0;for(k=0,i=0;i<SIZE;i++){sum+=s[];if((i+1)%5==0){w[k]=sum/5;_______;k++;}int main(){float s[SIZE],w[SIZE/5];int i;favl(s);for(i=0;i<SIZE;i++)printf("%.f",s[i]);printf("\n");fav2(s,w);for(i=0;i<SIZE/5;i++)printf("%.f",w[i]);return 0;}32、有10个字符串。

相关文档
最新文档