C语言期末试卷A
- 格式:doc
- 大小:60.50 KB
- 文档页数:8
2022年成都理工大学工程技术学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。
2、在C语言源程序中,一个变量代表【】。
3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、若x和a均是int型变量,则执行表达式(1)后的x值为_______,执行表达式(2)后的x值为_______。
(1)x=(a=4,6*2)(2)x=a=4,6*25、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______6、请填空:建立如图所示存储结构所需的说明语句是_______。
建立如图所示为变量a输入数据的输入语句是_______。
建立如图所示存储结构所需的赋值语句是_______。
7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);8、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;9、执行以下程序时,若从第一列开始输入数据,为使变量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;}10、设有如下定义:#define SWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。
2022年郑州科技学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。
2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、结构化程序由________、________ 、________ 3种基本结构组成。
4、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为_______。
5、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为_______,n的值为_______。
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、执行以下程序时,若从第一列开始输入数据,为使变量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、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。
2、一个C语言源程序由若干函数组成,其中至少应含有一个________3、C语言的源程序必须通过【】和【】后,才能被计算机执行。
4、若x和a均是int型变量,则执行表达式(1)后的x值为_______,执行表达式(2)后的x值为_______。
(1)x=(a=4,6*2)(2)x=a=4,6*25、假设变量a、b均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_______。
6、若想输出b数组的10个元素,则下面存在错误的程序行是_______。
(每个程序行前面的数字代表行号。
)1 int main()2 {int b[10]={1,3,5,7,9,2,4,6,8,10},k;3 for(k=0;k<10;k++,b++)4 printf("%4d",*b);5 return0;6 }7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。
请填空。
for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}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、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
10、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。
2022年黑龙江工程学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数是_______。
2、在C语言源程序中,一个变量代表【】。
3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为_______,n的值为_______。
5、在C语言中,用关键字_______定义单精度实型变量,用关键字_______定义双精度实型变量,用关键字_______定义字符型变量。
6、以下程序段通过移动指针变量m,将如图9-5所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。
请填空。
(假设程序段中的所有变量均已正确说明。
)for(m=q;m-q<10;m++)printf("%d,",_______);printf("\n");7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);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、下面程序段的运行结果是_______。
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);二、选择题11、下面4个选项中,是正确的数值常量或字符常量的选项是( )12、设以下变量均为int类型,则值不等于7的表达式是( )。
2022年华东理工大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。
2、C语言源程序的基本单位是________3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、在C语言的赋值表达式中,赋值号左边必须是_______5、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。
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、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}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、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
2022年池州学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。
2、在C语言源程序中,一个变量代表【】。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、在C语言中,8作为双目运算符时表示的是_______,而作为单目运算符时表示的是_______。
5、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______6、下面程序段的运行结果是_______。
char s[20]="abcd";char*sp=s;sp++;puts(strcat(sp,"ABCD"));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、执行以下程序时,若从第一列开始输入数据,为使变量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;}10、字符串"ab\n\\012\\\"”的长度是_______。
C 语言期末考试试卷(A)一、单项选择题(本大题共20 题,每题2 分,共 40 分)1、以下不是 C 语言的特点的是 ( A )A、 C 语言简洁、紧凑B、能够编制出功能复杂的程序C、 C 语言可以直接对硬件进行操作D、 C 语言移植性好2、以下不正确的C语言标识符是( D )A、 ABC B 、 abc C 、 a_bc D 、 ab.c3、一个 C语言程序是由( B )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等 5 个特性,对另外 4 个特性的描述中错误的是( A )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量 a 是整型, f 是实型, i 是双精度型,则表达式10+‘a’+i*f 值的数据类型为( C )A、 int B 、 float C 、 double D 、不确定6、在 C 语言中, char 型数据在内存中的存储形式是( C )A、补码 B 、反码 C 、源码 D 、 ASCII 码7、有如下程序,输入数据:12345M678< cR>后( <CR>表示回车), x 的值是( ) 。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、 12345 B 、123 C 、45 D 、 3458、若有以下定义int a,b; floatx,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、 11,10 B 、 9,10 C 、 11,9 D 、 10,910、巳知字母 A 的 ASCII 码是 65,以下程序的执行结果是 ( ) #include<stdio.h>main() {char c1='A',c2='Y'; printf("%d,%d\n",c1,c2);A 、 A,YB 、 65,65C 、 65,90D 、65,89 11、下列运算符中优先级最高的是 ( )A 、 <B 、十C、 %D 、!=12、设 x 、y 和 z 是 int 型变量,且 x =3, y = 4, z = 5,则下面表达式中值为 0 是 ( ) 。
XX 学院试卷《C语言程序设计试卷》试卷(A卷)一、填空题(每题2分,共10×2=20分)1、除机器语言之外的其他语言要被机器识别,必须经过翻译的过程,翻译有编译和解释两种,C语言所采用的是翻译方式。
2、C语言是函数驱动的,组成C语言程序的基本单位是。
3、C语言的入口函数是函数,且程序亦结束于该函数。
(填写英文)4、在函数体中,一条C语言语句均以结尾。
(填写符号)5、C程序的调试过程包括:→→→四个步骤。
6、基本数据类型包括:整数类型、浮点类型、和枚举类型。
7、浮点型包括单精度型和。
8、变量命名时,在能取得符号中,不能以开头。
9、63%10= 。
10、有数组定义如:int x[10];则数组的第三个元素应表示为。
二、单选题(每小题1分,多选,错选都不得分;共15×1=15分)1、C语言中主函数的个数是( )A、1个B、2个C、6个D、任意多个2、以下不属于C语言基本数据类型的是( )。
A、字符型B、浮点型C、整型D、空类型3、下面关于字符常量和字符串常量的叙述中错误的是( )。
A、字符常量由单引号括起来,字符串常量用双引号括起来B、字符常量只能是单个字符,而字符串常量则可以包含一个或多个字符C、字符常量占用一个字节的内存空间,字符串常量占的内存字节数等于字符串中字节数D、可以把一个字符常量赋值给一个字符变量,但不能把一个字符串常量赋予一个字符变量4、设有变量说明:float x=4.0,y=4.0;。
下面使x为10.0的表达式是( )。
A、x -=y*2.5B、x/=y+9C、x*=y-6D、x+=y+25、下列程序段的输出结果是( )。
char c1,c2;c1=65;c2=65+32+1;printf(“%c,%c”,c1,c2);A、a,BB、A,BC、A,bD、a,b6、以下运算符为单目运算符的是( )。
A、!B、&&C、%D、?:7、以下哪项不属于结构化程序设计方法的特点( )。
2022年华中师范大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数是_______。
2、结构化程序由________、________ 、________ 3种基本结构组成。
3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
4、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为_______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、下面程序段的运行结果是_______。
Char a[]="123456789",*p;inti=0;p=a;while(*p){if(i%2==0)*p='*';p++;i++;}puts(a);7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
_______9、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;10、设有宏定义如下:#define MIN(x,y)(x)>(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。
2022年榆林学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、与表达式x^=y-2等价的另一书写形式是_______。
2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、结构化程序由________、________ 、________ 3种基本结构组成。
4、在C语言中,8作为双目运算符时表示的是_______,而作为单目运算符时表示的是_______。
5、若有定义语句:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为_______6、下面程序段的运行结果是_______。
Char a[]="123456789",*p;inti=0;p=a;while(*p){if(i%2==0)*p='*';p++;i++;}puts(a);7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
_______9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;10、下面程序段将输出computer。
请填空。
char c[]="It is a computer";for(i=0;_______;i++){_______;printf("%c",c[j]);}二、选择题11、下面不正确的字符串常量是( )A.'abe'B."12'12"C. "o"D.""12、以下正确的叙述是( )。
2022年阜阳职业技术学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是2、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}3、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);4、假设变量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;_______;5、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
_______6、在C语言中,用“\”开头的字符序列称为转义字符。
转义字符“\n”的功能是_______;转义字符“\r”的功能是_______。
7、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。
8、请填空:建立如图所示存储结构所需的说明语句是_______。
建立如图所示为变量a输入数据的输入语句是_______。
建立如图所示存储结构所需的赋值语句是_______。
9、已有一维数组a,n为元素的个数,且各元素均有值;函数void process(float*p,int n,float(*fun)(float*,int))为一个可完成下面各种计算的通用函数。
2022年甘肃农业大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。
2、在C语言源程序中,一个变量代表【】。
3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。
5x7+3x6-4x5+2x1+x3-6x2+x+105、若有定义语句:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为_______。
6、设main函数的说明为:int main(int argc,char*argv[]),且有命令行为:FILE1123<回车>,则argc的值是_______,argv[1]的值是_______。
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、假设变量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、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。
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、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}4、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
5、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);6、若有定义语句:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为_______7、在C语言中,二维数组元素在内存中的存放顺序是_______。
8、函数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);}9、若有以下定义和语句,则在程序中可通过指针pt,用*(pt[i]+j)等4种形式引用数组元素x[i][],另3种形式分别是:_______、_______和_______。
c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从(A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是(D )。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_3.以下定义语句中正确的是( C)。
A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4.设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是(B)。
A) a++; B) b++ C) c++; D) d++;5.以下4个选项中,不能作为一条C语句的是(D)。
A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;6.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( C)。
A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是(D)。
A) p=1; B) *q=2; C) q=p; D) *p=5; 选D.A.p是一个指针,不能给它赋一个整型的值1B.*q仍然是一个指针,*q就是p.所以也不能给它赋一个整型的值.C.q=p;q是个二级指针,p是一级指针,不能把一级指针赋给二级指针.*p=5,即给n赋值为5,正确.8.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( A)。
2022年成都大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:unsigned a=16;printf("%d,%d,%d\n",a>>2,a=a>>2,a);以上程序段的输出结果是_______。
2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。
5x7+3x6-4x5+2x1+x3-6x2+x+105、若有定义语句:charc='\010';则变量c中包含的字符个数为_______。
6、下面程序段的运行结果是_______。
chara[]="12345",*p;int s=0;for(p=a;*p!=\0';p++)s=10*s+*p-'o';printf("%d\n",s);7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。
请填空。
for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}8、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;9、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;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、在C语言中,char型数据在内存中的存储形式是()。
2022年湖南工学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、把int类型变量low中的低字节及变量high中的高字节放入变量s中的表达式是_______。
2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、C语言的源程序必须通过【】和【】后,才能被计算机执行。
4、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。
5、若有定义语句:ints=6;则表达式s%2+(s+1)%2的值为_______6、以下程序段通过移动指针变量m,给如图9-7所示连续动态存储单元赋值。
请填空。
(假设程序段中的所有变量均已正确说明。
)for(k=0;k<10;k++,m++)scanf("%d",_______);7、下面程序段中循环体的执行次数是_______。
a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);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、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
一、单项选择题(每空2 分,共50 分)(请将各小题正确答案的字母序号填到相应小题的下划线上)1.C语言的运算符按运算对象的数目可以分为。
A)单目运算一种B)单目和双目运算符C)单目、双目和三目运算符D)单目、双目、三目运算和四目运算符2.C语言表达式2/5*10的值是。
A) 0.04 B)4 C)4.0 D)03.已知变量f和i的类型说明如下:float f=12.34; int i;则以下符合C语言语法的表达式是。
A) i=(int)f%5 B) i=int(f)%5C) i=f%5 D) i=(int f)%54.能正确表示数学式1≤x≤5的C语言表达式是。
A)1 <=x<=5 B)(x> =1)&(x<=5 )C)(x>=1 )&&(x<=5) D)(1 < =x)||(5> =x)5.设变量c的数据类型是char,i的数据类型是int,f的数据类型是float,则C语言表达式c*i+c*f-i+100值的数据类型为。
A)int B) float C) char D)不确定6.在下列选项中,合法的C语言用户标识符的是。
A)int B)sin C)if D)i+j7.C程序的执行从开始。
A)程序中的第1个语句B)程序中的第1个函数C)名为main 的函数D)包含文件的第1个函数8.凡在C语言函数中未指定存储类别的变量,其隐含的存储类别为。
A)自动(auto) B)静态(static) C)字符串D)字符或字符型变量值9.以下程序运行时要求输入10和20分别存放在变量x和y中,能正确输入数据的是。
main(){int x,y;scanf("x=%d,y=%d",&x,&y);printf("x+y=%d",x+y);}(说明:用<CR>表示换行符,用_表示空格符)A)10_20<CR> B)x=10,y=20<CR>C)10<CR> D)x=10<CR>20<CR> y=20<CR>10.下面程序的运行结果是。
main(){int a,b;a=32767;b=a+1;printf("a=%d,b=%d\n",a,b);}A)a=32767,b=-32768 B)a=32767,b=32768C)a=32767,b=1 D)运行出错11.在C语言中,以下错误的描述是。
A)break语句不能用于循环语句和switch语句外的任何其它语句B)在switch语句中使用break语句或continue语句的作用相同C)在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环D)在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环12.在C语言中,数组作为函数的形参,函数调用时,若用数组名作为函数的实参,则实际上传递给形参的是。
A)数组首地址B)数组的第一个元素值C)数组中全部元素的值D)数组元素的个数13.C语言编译系统对宏命令是。
A)在程序运行时进行替换处理B)在程序连接时进行处理C)和源程序中其它C语句同时进行编译D)在对源程序中其它成份正式编译之前进行处理14.设 x、y为整型变量且已赋值,将其中较大的值输出的、正确的 if 语句是。
A) if ( x >y ) printf ( “ %d ” , x );B) if ( x >y ) printf ( “ %d ” , x );printf ( “ %d ” , y );C) if ( x >y ) ; printf ( “ %d ” , x ); else printf ( “ %d ” , y );D) if ( x >y ) printf ( “ %d ” , x ); else printf ( “ %d ” , y );15.对以下程序段描述正确的是。
x=10;while(x) x=x/4;A) 不执行循环体B) 循环体执行一次C) 循环体执行二次D) 死循环16.在C语言中,引用数组元素时,对数组下标的数据类型以下说法错误的是。
A) 数组下标可以用整型常量B) 数组下标可以用整型变量C) 数组下标可以用任意类型的表达式D) 数组下标可以用整型表达式17.以下C函数的功能是。
int fun(int x,int y){ int z=0;z=x>y?x:y;return z; }A) 求x 和y二者中的最大值B) 求x 和y二者中的最小值C) 返回一个不确定的值D) 返回函数值为“0”18.定义数组:int s[10];则数组元素下标的取值。
A) 最小值为1,最大值为10 B) 最小值为0,最大值为10C) 最小值为0,最大值为9 D) 最小值为1,最大值为919.已知 int i,s[4][5];不能表示数组第3行第3列元素值的是。
A) * ( * ( x) )+ 3 B) x [ 3 ] [ 3 ]C) * ( * ( x + 3 ) + 3 ) D) * ( x [ 3 ] + 3 )20.以下C函数的类型是。
fun (float f ){ printf ( “ %f \n ” , f ) ; }A) int B) float C) void D) 无法确定21.设char *s1,s2[255]=“programing” ;以下操作正确的是。
A) *s1 = “function”;B) s2=“function”;s1=s2;C) s1 = “function”;s2=s1;D) *s2='P';s1 =s2 ;22.设有说明语句:struct student{ int num,age; };struct student stu[3]={{6001,20},{6003,21},{6005,19}};struct student *p=stu;则下面的C语言表达式中,值为6003的是。
A) ++(p->num) B) (p++)->numC) (*p++).num D) (*++p).num23.已有定义 int ( * p ) ( ) ; 则指针 p 可以。
A) 代表函数的返回值B) 指向函数的入口地址C) 代表函数的类型D) 代表函数返回值的类型24.若用下列语句输出26个大写英文字母:(1)for(a='A';a<='Z';a++) printf("%c",a);(2)for(a='Z';a>='A';a--) printf("%c",a);(3)for(a='A';a<='Z';) printf("%c",a++);(4)for(a='A';a++<='Z';) printf("%c",a);以下说法正确的是。
A)全都能输出B)只有前三个语句可以输出C)只有前两个语句可以输出D)只有第一个语句可以输出25.设以下程序用来求三个元素的数组中,第1个元素与第3个元素之和(程序每行前面的数字表示行号)。
1 main()2 { int a[3]={3*0},i;3 for(i=1;i<3;i++) scanf("%d",a[i]);4 for(i=1;i<3;i++) a[0]=a[0]+a[i+1];5 printf("%d",a[0]); }则下述说法正确的是。
A)第2行有语法错误B)第3行有错误,程序得不到预期结果C)编译时第4行出现语法错误D)可以得到正确结果一、程序阅读题(每小题3分,共18分))1.#include<stdio.h>main(){ int a,b,c,d;unsigned u;a=12;b=-24;u=10;c=a+u;d=b+u;printf("a+u=%d,b+u=%d\n",c,d); }程序运行结果为:2.#include <stdio.h>main(){ int a=10,b=0;if (a!=0){ a=a+1;b=b+1;}else{ a=a+2;b=b+2;}printf(“%d,%d\n",a,b); }程序运行结果为:3.#define V(s) s*s*s#include <stdio.h>main(){ int volume;volume=V(1);printf("%d\t",volume);volume=V(2);printf("%d\t",volume);volume=V(1+2);printf("%d\n",volume);}程序运行结果为:4.#include <stdio.h>main(){ char s[]={"12345"};void sub_s1(char s[],int n) ;void sub_s2(char s[ ],int n);sub_s1(s,5);sub_s2(s,6);}void sub_s1(char s[],int n){ int i,j;for(i=0;i<n;i++){ for(j=0;j<i;j++) printf("%c",s[j%5]);printf("\n");}}void sub_s2(char s[ ],int n){ int i,j;for(i=0;i<n;i++){ for( j=i;j<n;j++) printf("%c",s[j%5]);printf("\n");}}程序运行结果为:#include <stdio.h>main(){ int i,a;int fun(int m);for(i=0;i<2;i++){ a=fun(4+i);printf("%d\n",a); } }int fun(int m){ static int n=0;m/=2;m=m*2;if(m){ n=n*m; return (fun(m-2));}else return(n++);}程序运行结果为:5.#include <stdio.h>main(){ int i,k=0,s[10]={1,2,3,4,5,6,7,8,9,10};for(i=0;i<10;i++)if(i%2) k+=s[i];for(i=i-1;i>=0;i--)if(i%5= =0) printf(“%d\t”,s[i]);printf(“%d\n”,k);}程序运行结果为:二、填空题(每空2 分,共20 分))6.以下程序运行时从键盘输入字符串ABCDE按回车键结束输入,要求在下划线上填入合适的内容,使输入字符串中的‘A’和‘B’转换为字符‘#’输出,其它字符输出为‘*’。