2022年大连理工大学城市学院公共课《C语言》科目期末试卷A(有答案)

2022年大连理工大学城市学院公共课《C语言》科目期末试卷A(有

答案)

一、填空题

1、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。

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

3、一个C语言源程序由若干函数组成,其中至少应含有一个________

4、若a、b和c均是int型变量,则执行表达式a=(b=4)+(c=2)后a的值为

_______,b的值为_______,c的值为_______。

5、在C语言的赋值表达式中,赋值号左边必须是_______

6、当运行以下程序时,从键盘输入

book<回车>

book囗<回车>(囗表示空格),则下面程序段的运行结果是_______。

char al[80],a2[80],*sl=al,*s2=a2;

gets(s1);gets(s2);

if(!strcmp(sl,s2))

printf("x");

else printf("#");

printf("%d",strlen(strcat(sl,s2))

}

7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分是_______,改正后为_______。

void add(float a,float b)

{float c;

c=a+b;

return c;

}

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 SWAP(T,X,Y){T=X;X=Y;Y=T;}

以下程序段将通过调用宏实现变量x和y内容的交换,请填空。

Double x=2.5,y=6.4,z;SWAP(_______);

二、选择题

11、表达式18/4*sqrt(4.0)/8值的数据类型为()

A.int

B.float

C.double

D.不确定

12、下面正确的字符常量是( )

A."c"

B. "\\"

C. 'w'

D. "

13、已知ch是字符型变量,下面正确的赋值语句是()

A.ch='123';

B.ch='\xff';

C.ch='\08';

D.ch=\";

14、根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为。(注:口表示空格)

#include

int main()

{char ch1,ch2,ch3;

输入语句

printf("%c%c%c",ch1,ch2,ch3);

return0;

}

输入形式:A口BOC<回车>

输出形式:A口B

A.scanf("%c%c%c",&ch1,&ch2,&ch3);

B.scanf("%c,%c,%c",&&ch1,&ch2,&ch3);

C.scanf("%c%c%c",&ch1,&ch2,&ch3);

D.scanf("%c%c",&ch1,&ch2,&ch3);

15、有两个字符数组a、b,则以下正确的输人格式是()。

A.gets(a,

B.; B.scanf("%s%s",a,B.;

C)scanf("%s%s",&a,&b); D)gets("a"),gets("b");

16、以下叙述不正确的是( )

A.一个C源程序可由一个或多个函数组成

B.一个C源程序必须包含一个main函数

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

17、以下程序段( )。

x=-1;

do

{x=x*x;}while(!x);

A.是死循环

B.循环执行二次

C.循环执行一次

D.有语法错误

18、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是()

A.extern

B.register

C.auto

D.static

19、设有以下程序段:

char str[4][10]={first","second","third","fourth"),

*strp[4];int n;

for(n=0;n<4;n++)

strp[n]=str[n];

若k为int型变量且0≤k<4,则对字符串的不正确引用是()。

A.strp

B.str[k]

C.strp[k]

D.*strp

20、下面能正确进行字符串赋值操作的是()。

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);

21、折半查找法的思路是:先确定待查元素的范围,将其分成两半,然后测试位

于中间点元素的值。如果该待查元素的值大于中间点元素,就缩小待查范围,只测试中点之后的元素;反之,测试中点之前的元素,测试方法同前。函数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

else if(m>a[mid])【】;

else return(miD.;

return(一1);

}

A.high=mid-1

B.low=mid+1

C.high=mid+1

D.low=mid-1

22、下面程序段的功能是输出两个字符串中对应相等的字符,请选择填空()。

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、当运行以下程序时,从键盘输入:

aa bb<回车>

ccdd<回车>

则下面程序的运行结果是()。

#include

int main()

{char al[5],a2[5],a3[5],a4[5];

scanf("%s%s",al,a2);

gets(a3);gets(a4);

puts(a1);puts(a2);

puts(a3);puts(a4);

return 0;

}

A)aa B)aa C)aa D)aa bb bb bb bb cc

cc cc dd dd cc dd dd ee

24、以下程序的输出是()。

#include

int main()

{int a=5,b=8,c=3,max;

max=a;

if(c>B.

if(c>A.

max=c;

else

if(b>A.

max=b;

printf("max=%d\n",max);

return 0;

}

A.max=8

B.max=5

C.max=3

D.无输出结果

25、若运行以下程序时,从键盘输入3.62.4<回车>,则下面程序的运行结果是()

# include

# include

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

int main()

{int m=177;

printf("%o\n",m);

return 0;

}

27、以下程序的输出结果为_______.

#include

int main()

{printf("*%f,%4.3f*\n",3.14,3.1415);

return0;

28、假设奖金税率如下(a代表奖金,r代表税率):

500≤a<1000 r=5%

1000≤a<2000 r=8%

2000≤a<3000 r=10%

以下程序的功能是:对输入的一个奖金数,求税率和应交税款以及实得奖金数(扣除奖金税后)。题中r代表税率,t代表税款,b代表实得奖金数。请填空。

#include

int main( )

{ float a,r,t,b;

int c;

scanf("%f",8&a);

if(a>=3000) c=6;

else c=_______:

switch(c)

{ case 0:r=0; break;

case 1:r=0.05; break;

case2:

case 3: _______; break;

case4:

case.5:r=0.1; break;

case 6:r=0.15; break;

t=a*r;

b=a-t;

printf("r=%f,t=%f.b=%",r,t,b);

return 0;

}

29、以下程序的输出结果是_______。#include

int main()

{inta=2,b=7,c=5;

switch(a>0)

{case 1:switch(b<0)

{case 1:printf("@");break;

case 2:printf("!");break;

case 0:switch(c==5) {case0:printf("*");break;

case 1:printf("#");break; default:printf("#");break; default:printf("&");

}

printf("\n");

return0;

}

30、下面程序的输出结果是_______。

#include

int main()

{inti,j,k=19;

while(i=k-1)

{k-=3;

if(k%5==0){i++;continue;}

else if(k<5)break;

i++;

}

printf("i=%d,k=%d\n",i,k);

return 0;

}

31、已有函数pow,现要求取消变量i后pow函数的功能不变。请填空。修改前的pow函数:

int pow(int x,int y)

{int i,j=1;

for(i=1;i<=y;++i)

j=j*x;

return(j);:

int pow(int x,int y)

{int j;

for(_______;_______;_______)

j=j*x;

return(j);

}

32、下面程序的功能是求出矩阵x的上三角元素之积,其中矩阵x的行、列数和元素值均由键盘输入。请填空。

#include

#define M10

main()

{int x[M][M],n,i,j;

longs=1;

printf("Enter a integer(<=10):\n");

scanf("%d",8&.n);

printf("Enter%d data on each line for the array x\n",n);

for(_______)

for(j=0;j

scanf("%d",&x[i][j]); for(i=0;i

for(_______)

_______

printf("%ld\n",s);

return 0;

}

33、请根据运行结果,完成main函数中的填空。

#include

int arr_add(int arr[],int n)

{int i,sum=0;

for(i=0;i

return(sum);

int main()

{

static int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};

int*p,totall,total2;

_______;

pt=arr_add;

p=a[o];

total1=arr_add(p,12);

total2=(*pt)(_______)

printf("total1=%d\ntotal2=%d\n",totall,total2);

return(0);

}

运行结果:totall=144

total2=144

四、编程题

34、定义一个带参数的宏,用来判断一个字符是否为字母。编写主函数,从键盘输入一个字符,调用上述宏输出判断结果。

35、编写程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔地输出该串,请用指针完成。

参考答案

一、填空题

1、0130或88或0x58

2、【1】顺序结构【2】选择结构【3】循环结构

3、主函数(或main函数)

4、【1】6【2】4【3】2

5、变量

6、#9

7、【1】void add(float a,float b)【2】float add(float a,float b)

8、structs*next;

9、【1】%If【2】num.x

10、z,x,y或z,y,x

二、选择题

11、C

12、C

13、B

14、A

15、B

16、D

17、C

18、D

19、A

20、C

21、C

22、A

23、A

24、B

25、B

三、读程序填空

26、261

27、*3.140000,3.142*

28、【1】a/500【2】r=0.08

29、【1】x<0【2】×/10【3】y!=-2

30、i=6,k=4

31、【1】j=1【2】y>=1【3】--y或y--

32、【1】i=0;i

33、【1】int(*pt)(int*,int);【2】p,12

四、编程题

34、/*判断是否是字母*/

#include

#define ISALPHA(ch)

((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z '))?1:0 int main()

{char c;

printf("Enter a letter:");

scanf("%c”,8c);

if(ISAL.PHA(c))printf("%c is an alpha.\n",c);

else printf("%cis not an alpha.\n",c);

return 0;

}

35、#include

int main()

{static char x[]="computer";

char*p;

for(p=x;p

putchar(*p);

printf("\n");

return 0;

}

大连理工大学c语言题库(共12套)

【第三套】 一、单项选择 1.以下程序段char *alp[]={"ABC","DEF","GHI"}; int j; puts(alp[1]); 的输出结果是()。 A、D B、A C、B D、DEF 2.下列表达式中,可作为C合法表达式的是()。 A、3.0%2 B、3=2=1=0 C、[3,2,1,0] D、(3,2,1,0) 3.下面程序的正确输出结果是( ).(规定用U表示空格) main() { float x=5.783,y= -10.2345; printf ("x=%-8.2f ,y=%-8.2f \n", x,y); } A、x=5.78UUUU,y=-10.23UU B、x=5.78,y=-10.23 C、5.78,-10.23 D、x=UUUU5.78,y=UU-10.23 4.当x为偶数或奇数时(0除外),其值都为0的表达式是:( ) A、(x/2*2-x)==0 B、x%2==0 C、!x!=0 D、!(x%2) 5.下列运算符优先级最低的是( ). A、= B、+ C、! D、&& 6.设有如下程序段: int k=10; while(k==0) k--;

则下述说明中正确的是( ). A、循环体一次也不执行 B、循环体执行一次 C、死循环 D、循环体执行10次 7.从循环体内某一层跳出,继续执行循环外的语句是( )。 A、continue语句 B、空语句 C、break语句 D、return语句 8.以下对一维整型数组a的正确说明是()。 A、int a(10); B、int n; scanf("%d",&n); int a[n]; C、int n=10,a[n]; D、#define SIZE 10 (换行) int a[SIZE]; 9.以下定义语句中,错误的是()。 A、int n=5,a[n]; B、int a[]={1,2}; C、char s[10]="test"; D、char *a[3]; 10.下面叙述中不正确的是( ). A、可以对字符型数组进行整体输入和输出. B、不可以对浮点型数组进行整体输入和输出. C、可以对整型数组进行整体输入和输出. D、字符型数组可以存放字符串. 11.函数定义时的参数为形参,调用函数时所用的参数为实参,则下列描述正确的是( ). A、实参与形参是双向传递 B、形参可以是表达式 C、形参和实参可以同名 D、实参类型一定要在调用时指定 12.以下错误的描述是:函数调用可以()。 A、出现在执行语句中 B、做为一个函数的实参 C、出现在一个表达式中 D、做为一个函数的形参 13.以下不正确的说法是:C语言规定()。 A、实参可以是常量,变量或表达式

大连理工大学C语言模拟题机房题库单选、判断、填空(分章节_共十一章)

第一部分注意事项 1. 请对照《课件》和《教材》进行练习。 2. 熟悉键盘,注意竖杠“|”和反斜杠“\”的位置,请在西文状态下输入。 3. 单选题、判断题和填空题要会验证。当输入汉字时,可能输入提示框是灰色的,再按一次中英文切换键即可。 4. 程序填空题不能删除注释/*****FILL*****/,但必须删除标记符号_____,否则编译通不过。如,for(i=10; ____; i++)。 5. 程序改错题不能删除注释/*****ERROR*****/,仅在其下一行进行修改。 6. 程序填空题和程序改错题存盘即可。但最好编译运行一下,编译时会自动存盘。编译帮助检查语法错误,运行帮助检查逻辑错误。 7. 程序设计题不能删除注释/****BEGIN*****/和/****END*****/,只能在两个标记符之间编写程序。必须保证编译、链接、运行都正确。 8. 以上程序题中不能更改程序结构和其它位置的程序代码,可以忽略其它程序位置的警告。 9. 如果VC发生死机(见图,可用按钮都变成灰色),请结束VC进程,再继续答题或重答。结束VC进程的方法: 先进入“任务管理器”;再选下面一种方法操作: 方法1:选择“应用程序”标签,选中“VC任务”,按“结束任务”。 方法2:选择“进程”标签,选中“MSDEV.EXE”,按“结束进程”。 10. 提交试卷并看到成绩后再离开。 11.出现问题立即请示监考老师。 12.请记住几个常用的函数。 数学函数:sin(),cos(),tan(),log(),exp(),pow(),sqrt(),abs(),fabs() 字符串函数:strcat(),strcpy(),strcmp(),strlen(),strlwr(),strupr() 输入输出函数:printf(),scanf(),putchar(),getchar(),puts(),gets(), fopen(),fclose(),fprintf(),fscanf(),feof() 其它实用函数:rand(),exit()

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

2022年长沙理工大学公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。 2、结构化程序由________、________ 、________ 3种基本结构组成。 3、在C语言源程序中,一个变量代表【】。 4、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为_______。 5、在C语言中,用关键字_______定义单精度实型变量,用关键字_______定义双 精度实型变量,用关键字_______定义字符型变量。 6、下面程序段的运行结果是_______。 char s[80],*sp="HELLO!"; sp=strcpy(s,sp); s[0]='h';puts(sp); 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、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、 cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为 _______。 10、设有宏定义如下: #define MIN(x,y)(x)>(y)?(x):(y) #define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。 int a=1,b=3,c=5,s1,s2; s1=MIN(a=b,b-a); s2=T(a++,a*++b,a+b+c); 二、选择题 11、若有说明语句:charc='\72';则变量c( )。 A.包含1个字符 B.包含2个字符 C.包含3个字符 D.说明不合法,c的值不确定 12、下面4个选项中,是合法浮点数的选项是。( ) A.+1e+1 B.-.60 C.123e D.-e3 5e-9.4 12e-4 1.2e-4. 8e-4 03e2 -8e5 +2e-1 5.e-0 13、已知ch是字符型变量,下面不正确的赋值语句是()

2022年大连理工大学城市学院公共课《C语言》科目期末试卷A(有答案)

2022年大连理工大学城市学院公共课《C语言》科目期末试卷A(有 答案) 一、填空题 1、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。 2、结构化程序由________、________ 、________ 3种基本结构组成。 3、一个C语言源程序由若干函数组成,其中至少应含有一个________ 4、若a、b和c均是int型变量,则执行表达式a=(b=4)+(c=2)后a的值为 _______,b的值为_______,c的值为_______。 5、在C语言的赋值表达式中,赋值号左边必须是_______ 6、当运行以下程序时,从键盘输入 book<回车> book囗<回车>(囗表示空格),则下面程序段的运行结果是_______。 char al[80],a2[80],*sl=al,*s2=a2; gets(s1);gets(s2); if(!strcmp(sl,s2)) printf("x"); else printf("#"); printf("%d",strlen(strcat(sl,s2)) } 7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分是_______,改正后为_______。

void add(float a,float b) {float c; c=a+b; return c; } 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 SWAP(T,X,Y){T=X;X=Y;Y=T;} 以下程序段将通过调用宏实现变量x和y内容的交换,请填空。 Double x=2.5,y=6.4,z;SWAP(_______);

2022年大连理工大学城市学院公共课《大学计算机基础》期末试卷A(有答案)

2022年大连理工大学城市学院公共课《大学计算机基础》期末试卷 A(有答案) 一、单项选择题 1、二进制数10111101等于十进制数() A.187 B.189 C.191 D.193 2、十六进制数D3.6转换成二进制数是() A. 11010011.011 B. 11100011.110 C. 11000011.110 D. 11000011.011 3、二进制数01010101等于十进制数() A.85 B.87 C.89 D.91 4、二进制数101110转换成十六进制数是() A.2C B.2D C.2E D.2F 5、以下4项中,不属于计算机病毒特征的是() A.潜伏性 B.传染性 C.激发性 D.免疫性 6、一个字符的 SCII码占用存储空间为(A)

A.1个字节 B.2个字节 C.7个字节 D.8个字节 7、目前,微型计算机存储器容量最大的是() A.内存 B.光盘 C.硬盘 D.优盘 8、不属于Windows 7应用程序窗口组成部分的是() A.状态栏 B.任务栏 C.工具栏 D.菜单栏 9、在Windows 7“资源管理器”中,若要用鼠标拖动的方法进行不同文件夹的文件移动操作,选择文件后,应() A.直接用鼠标左键拖拽文件. B.按住Alt键同时用鼠标左键拖拽文件 C.按住Shift键同时鼠标左键拖拽文件 D.按住Ctrl键同时用鼠标左键拖拽文件 10、下列有关Windows7对话框的叙述中,正确的是() A.对话框不包含标题栏 B.通过拖拽边框能够改变对话框的大小 C.对话框能够被最大化 D.对话框的外观和内容通常根据应用程序的不同而不同 11、Windows7“控制面板”的主要作用是() A调整窗口大小 B设置系统配置 C编辑程序

2022年洛阳理工学院公共课《C语言》科目期末试卷A(有答案)

2022年洛阳理工学院公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、把int类型变量low中的低字节及变量high中的高字节放入变量s中的表达式是_______。 2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数 ________完成的。 3、C语言的源程序必须通过【】和【】后,才能被计算机执行。 4、若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式.pow (y,fabs(x))的值为_______ 5、在C语言中,用关键字_______定义单精度实型变量,用关键字_______定义双精度实型变量,用关键字_______定义字符型变量。 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、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、设有以下宏定义: #define WIDTH80 #define LENGTH(WIDTH+40) 则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。 二、选择题 11、下面4个选项中,是正确的数值常量或字符常量的选项是( ) 12、表达式18/4*sqrt(4.0)/8值的数据类型为() A.int B.float C.double D.不确定 13、设有说明:double y=0.5,z=1.5;int x=10;则能够正确使用C语言库函数的赋值语句是()。 A.z=exp(y)+fabs(x); B.y=log10(y)+pow(y); C.z=sqrt(y-z); D.x=(int)(atan2((double)x,y)+exp(y- 0.2));

2022年沈阳工学院公共课《C语言》科目期末试卷A(有答案)

2022年沈阳工学院公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。 2、C语言的源程序必须通过【】和【】后,才能被计算机执行。 3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数 ________完成的。 4、C语言中的标识符可分为关键字、_______和_______3类。 5、C语言中的标识符只能由3种字符组成,它们是_______、_______和_______ 6、下面程序段的运行结果是_______。 char s[20]="abcd"; char*sp=s; sp++; puts(strcat(sp,"ABCD")); 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、假设变量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 WIDTH 80 #define LENGTH WIDTH+40 则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。 二、选择题 11、若有说明语句:charc='\72';则变量c( )。 A.包含1个字符 B.包含2个字符 C.包含3个字符 D.说明不合法,c的值不确定 12、若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值为( )。 A.4 B.16 C.32 D.52 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、设有如下程序: #include int main() {char ch1='A',ch2='a';

2022年成都大学公共课《C语言》科目期末试卷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+10 5、若有定义语句: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型数据在内存中的存储形式是()。 A.补码 B.反码 C.原码 D.ASCII码 12、设有说明语句:char w;intx;float y;double z;则表达式w*x+z-y值的 数据类型为()。 A.float. B.char C.int D.double

大连理工大学超星尔雅学习通“计算机科学与技术”《C C++语言程序设计》网课试卷答案试题号:1

大连理工大学超星尔雅学习通“计算机科学与技术”《C C++语言程序设计》网课试卷答案 (图片大小可自由调整) 全文为Word可编辑,若为PDF皆为盗版,请谨慎购买! 第I套 一.综合考核(共20题) 1.以下基类中的成员函数,表示纯虚函数的是()。 A.virtual void vf(int) B.void vf(int)=0 C.virtual void vf()=0 D.virtual void vf(int){} 参考答案:C 2.在C++中,用于实现运行时多态性的是() A、内联函数 B、重载函数 C、模板函数 D、虚函数 参考答案:D 3.设int a=1,则执行完循环while(a++T、对

F、错 参考答案:T 4.构造函数的功能是对对象进行初始化。() A.正确 B.错误 参考答案:A 5.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4; 后,c的值为()。 A.1.4 B.1 C.2.0 D.2 参考答案:B 6.在析构函数前面加上关键字virtual进行说明,则称该析构函数为()。 A、虚构造函数 B、虚成员函数 C、虚析构函数 D、以上都不是 参考答案:C 7.()是指联编工作出现在编译连接阶段,这种联编又称为早期联编,因为这种联编过程是在程序开始运行之前完成的。 A.动态联编 B.静态联编 C.多态联编 D.以上都不是 参考答案:B

8.静态成员函数没有this指针。() A.正确 B.错误 参考答案:A 9.I/O操作分别由两个类istream和ostream提供,由它们派生出一个类(),提供双向I/O操作。 A.iostream B.cin C.cout D.void 参考答案:A 10.虚基类的构造函数在非虚基类之前调用。() A.正确 B.错误 参考答案:A 11.do…while结构中的语句至少执行一次。() T、对 F、错 参考答案:T 12.当用类的一个对象去初始化类的另一个对象时,调用()。 A.析构函数 B.拷贝构造函数 C.静态函数 D.以上都不是 参考答案:B

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

2022年南通理工学院公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。 2、在C语言源程序中,一个变量代表【】。 3、一个C语言源程序由若干函数组成,其中至少应含有一个________ 4、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为_______。 5、设a、b、c均为int类型变量,请用C语言的表达式描述以下命题。 (1)a或b中有一个大于c_______ (2)a、b和c中只有2个为正数_______ (3)c是偶数_______ 6、以下程序段通过移动指针变量m,将如图9-5所示连续动态存储单元的值,从 第一个元素起依次输出到终端屏幕。请填空。(假设程序段中的所有变量均已正确说明。) for(m=q;m-q<10;m++)printf("%d,",_______);printf("\n"); 7、函数swap(int x,inty)可完成对x和y值的交换。在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。 a[o]=1;a[1]=2;

swap(a[o],a[1]); 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、设有如下结构体说明: struct ST {int a;float b; struct ST*c; doublex[3]; }st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。 _______ 10、设有如下定义: #define SWAP(T,X,Y){T=X;X=Y;Y=T;} 以下程序段将通过调用宏实现变量x和y内容的交换,请填空。 Double x=2.5,y=6.4,z;SWAP(_______); 二、选择题 11、若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值 为( )。 A.4 B.16 C.32 D.52 12、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )。

2022年辽宁工程技术大学公共课《C语言》科目期末试卷A(有答案)

2022年辽宁工程技术大学公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、测试char型变量a第6位是否为1的表达式是_______(设最右位是第1位)。 2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数 ________完成的。 3、结构化程序由________、________ 、________ 3种基本结构组成。 4、若a是int型变量,则执行表达式a=25/3%3后a的值为_______ 5、假设m是一个3位数,从左到右依次用a、b、c表示各位的数字,则从左到右各 位数字是b、a、c的3位数的表达式是_______。 6、下面程序段的运行结果是_______。 char s[80],*sp="HELLO!"; sp=strcpy(s,sp); s[0]='h';puts(sp); 7、下面程序段中循环体的执行次数是_______。 a=10;b=0; do{b+=2;a-=2+b;}while(a>=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函数调用语句是_______,数据输入的形式应为 _______。 10、假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是_______。 二、选择题 11、下面4个选项中,是正确的数值常量或字符常量的选项是( ) 12、下面4个选项中,是非法常量的选项是( )。 13、已有如下定义和输入语句,若要求al,a2,c1,c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是。(注:口表示空格) int a1,a2; char c1,c2; scanf("%d%c%d%c”, &a1,&c1,&a2,&c2); A.10A□20B<回车> B.10□A□20□B<回车> C.10A□20B<回车> D.10A20□B<回车> 14、以下能正确地定义整型变量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;

大连理工大学22春“计算机科学与技术”《C C++语言程序设计》作业考核题库高频考点版(参考答案)试

大连理工大学22春“计算机科学与技术”《C C++语言程序设计》作业考核 题库高频考点版(参考答案) 一.综合考核(共50题) 1. 在ios中提供控制格式的标志位中,oct是转换为十六进制形式的标志位。() T、对 F、错 参考答案:F 2. C++源程序文件的扩展名是.cpp。() A.正确 B.错误 参考答案:A 3. 在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则完全不同。() T、对 F、错 参考答案:F 4. 程序段int a=1234;print("%d\n",a,);的输出结果是()。 A、12 B、34 C、1234 D、提示出错无结果 参考答案:C 5.

F、错 参考答案:T 6. 在执行int a[][3]={1,2,3,4,5,6};语句后,a[1][1]的值是5。() A.正确 B.错误 参考答案:A 7. 如果一个类至少有一个纯虚函数,那么就称该类为()。 A.抽象类 B.虚基类 C.派生类 D.以上都不对 参考答案:A 8. 有一个函数原型如下所示,abc(float x,float y);{……},则该函数的返回类型为()。 A、void B、double C、int D、float 参考答案:C 9. 构造函数可以重载。() T、对 F、错 参考答案:T

在C++中,打开一个文件,就是将这个文件与一个流建立关联; 关闭一个文件,就取消这种关联。() A.正确 B.错误 参考答案:A 11. 下列运算符中,()运算符在C++中不能重载。 A、&& B、[] C、:: D、new 参考答案:C 12. do…while结构中的语句至少执行—次。() A.正确 B.错误 参考答案:A 13. 在C++中,打开一个文件,就是将这个文件与一个流建立关联;关闭一个文件,就取消这种关联。() T、对 F、错 参考答案:T 14. 执行下面的程序段后,输出结果是()。main(){char a[]=“english”;printf(“%c”,a[5]);} A.engli B.s C.english D.sh 参考答案:B

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

2022年东华大学公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。 2、C语言源程序的基本单位是________ 3、一个C语言源程序由若干函数组成,其中至少应含有一个________ 4、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为_______ 5、C语言所提供的基本数据类型包括:单精度型、双精度型、_______、_______和_______。 6、定义语句int*f();int(*f)();的含义分别为_______和_______。 7、下面程序段中循环体的执行次数是_______。 a=10;b=0; do{b+=2;a-=2+b;}while(a>=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函数调用语句是_______,数据输入的形式应为 _______。

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个选项中,是不合法的浮点数的选项是( )。 A.160. B.123 C.-18 D.-e3 12、已知各变量的类型说明如下: int k,a,b; unsigned long w=5; double x=1.42;则以下不正确的表达式是( )。 A.x%(-3) B.w+=-2 C.k=(a=2,b=3,a+B. D.a+=a-=(b=4)*(a=3) 13、设x、y均为float型变量,则以下不合法的赋值语句()。 A.++x; B.yy=(x%2)/10; C.x*=y+8; D.x=y=0; 14、已知ch是字符型变量,下面不正确的赋值语句是() A.ch='a+b'; B.ch='\o'; C.ch='7'+'9'; D.ch=5+9; 15、若有以下程序段: int a[]={4,0,2,3,1},i,j,t; for(i=l;i<5;i++)

2022年重庆城市科技学院公共课《C语言》科目期末试卷A(有答案)

2022年重庆城市科技学院公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、把int类型变量low中的低字节及变量high中的高字节放入变量s中的表达式是 _______。 2、结构化程序由________、________ 、________ 3种基本结构组成。 3、C语言源程序的基本单位是________ 4、若a是int型变量,则执行表达式a=25/3%3后a的值为_______ 5、设a、b、c均为int类型变量,请用C语言的表达式描述以下命题。 (1)a或b中有一个大于c_______ (2)a、b和c中只有2个为正数_______ (3)c是偶数_______ 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=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。 #include 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、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。 union {int n;doublex;}num; num.n=10;

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

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内容的交换,请填空。 Double x=2.5,y=6.4,z;SWAP(_______); 二、选择题 11、表达式18/4*sqrt(4.0)/8值的数据类型为() A.int B.float C.double D.不确定 12、已知各变量的类型说明如下: int k,a,b; unsigned long w=5;

2023年大连海事大学公共课《C语言》科目期末试卷A(有答案)

2023年大连海事大学公共课《C语言》科目期末试卷A(有答案) 一、填空题 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、C语言的源程序必须通过【】和【】后,才能被计算机执行。 4、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%= (n%=2)后x的值为_______。 5、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为_______。 6、下面程序段是找出整数的所有因子。请填空。 scanf("%d",&x); i=1;for(;_______;) {if(x%i==0)printf("%3d",i); i++; } 7、下面程序段的运行结果是_______。 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);

8、请读程序段: unsigned a=16; printf("%d,%d,%d\n",a>>2,a=a>>2,a);以上程序段的输出结果是_______。 9、设x为无符号整数。表达式x^(~(~0<

2022年西安交通大学城市学院公共课《C语言》科目期末试卷A(有答案)

2022年西安交通大学城市学院公共课《C语言》科目期末试卷A(有 答案) 一、填空题 1、设x为无符号整数。表达式x^(~(~0<

#include 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、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后, a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。 二、选择题 11、下面4个选项中,是不合法的整型常量的选项是 ( )。 A.--0f1 B.-0Xcdf C.-018 D.-0x48eg 0xfff 017 999 -0680 011 12.456 5e2 03f 12、已知各变量的类型说明如下: inti=8,k,a,b; unsigned long w=5;

大连理工大学2012c语言期末模拟试题及答案

大连理工大学2012c语言期末模拟试题及答案 一、 1/字符串"\\\'efg\'\\"的长度是:( ). A、3 B、11 C、7 D、5 2、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。 A、double B、不确定 C、int D、float 3、下列语句的结果是()。 main() { int j; j=3; printf("%d,",++j); printf("%d",j++); } A、3,3 B、4,4 C、3,4 D、4,3 4、逻辑表达式!(2-1)&&x||0的值是( ) A、1 B、0 C、3 D、2

5、int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为()。 A、3 B、2 C、1 D、不一定 6、执行语句 for(i=1;i++<4;); 后变量 i 的值是()。 A、3 B、5 C、4 D、不定 7、以下正确的描述是( ). A、只能用continue语句来终止本次循环 B、switch语句中不能出现continue语句 C、在循环中break语句不能独立出现 D、goto语句只能用于退出多层循环 8、下面合法的语句定义是( ). A、char a[ ]={'0','1','2','3','4','5'}; B、int a[ ]="string"; C、int a[5]={0,1,2,3,4,5}; D、char a="string"; 9、char a[10];不能将字符串"abc"存储在数组中的是()。 A、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0; B、a="abc"; C、strcpy(a,"abc"); D、a[0]=0;strcat(a,"abc"); 10、在C语言中,一维数组的定义方式为:类型说明符数组名()。 A、[整型常量]或[整型表达式] B、[正整型常量表达式] C、[整型表达式] D、[常量表达式]

相关主题
相关文档
最新文档