文档库 最新最全的文档下载
当前位置:文档库 › 2022年大连理工大学城市学院公共课《C语言》科目期末试卷B(有答案)

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

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

答案)

一、填空题

1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。

char cl,c2;

scanf("%4c%4c",&cl,8&c2);

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

________完成的。

3、C语言源程序的基本单位是________

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

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

5x7+3x6-4x5+2x1+x3-6x2+x+10

6、请读程序段:

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、下面程序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]);

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、请填空:

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

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

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

二、选择题

11、以下正确的叙述是( )。

A.在C程序中,每行中只能写一条语句

B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C.在C程序中,无论是整数还是实数,都能被准确无误地表示

D.在C程序中,%是只能用于整数运算的运算符

12、设有说明语句:int k=7,x=12;则以下能使值为3的表达式是( )。

A..x%=(k%=5)

B..x%=(k-k%5)

C..x%=k-k%5

D..(x%=k)-(k%=5)

13、C语言规定:在一个源程序中,main函数的位置( )

A.必须在最开始

B.必须在系统调用的库函数的后面

C.可以任意

D.必须在最后

14、一个C程序的执行是从()

A.本程序的main函数开始,到main函数结束

B.本程序的第一个函数开始,到本程序文件的最后一个函数结束

C.本程序的main函数开始,到本程序文件的最后一个函数结束

D.本程序的第一个函数开始,到本程序main函数结束

15、若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为。(假设

a[0][0]位于数组的第一个位置上)()

A.i*m+j

B.j*m+i

C.i*m+j-1

D.i*m+j+1

16、设有说明: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));

17、若有定义:inta[2][3];则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的正确引用为()。

A. *(a[i]+j)

B.(a+i)

C.*(a+j)

D.a[i]+j

18、以下程序有语法性错误,有关错误原因的正确说法是()。

#include

int main()

{int G=5,k;

void prt_char();

-----

k=prt_char(G);

---

}

A.语句void prt_char();有错,它是函数调用语句,不能用void说明

B.变量名不能使用大写字母

C.函数说明和函数调用语句之间有矛盾

D.函数名不能使用下划线

19、在下面的程序段中()。

Int t,x;

for(t=1;t<=100;t++)

{scanf("%d”,&x);

if(x<0)continue;

printf("%3d",t);

}

A.当x<0时整个循环结束

B.x≥0时什么也不输出

C.printf函数永远也不执行

D.最多允许输出100个非负整数

20、设有程序段:

t=0;while(printf("*"))

{t++;if(t<3)break;

}

下面描述正确的是()。

A.其中循环控制表达式与0等价

B.其中循环控制表达式与'0'等价

C.其中循环控制表达式是不合法的

D.以上说法都不对

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

#include

int main()

{int a=100,x=10,y=20,okl=5,ok2=0;

if(x

if(y!=10)

if(!ok1)

a=1;

else

if(ok2)a=10;

a=-1;

printf("%d\n",A.;

return 0;

}

A.1

B.0

C.-1

D.值不确定

22、下面程序段的运行结果是()。

int a[6],i;

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

{a[i]=9*(i-2+4*(i>3))%5;

printf("%3d",a[i]) ;

}

A)-4 0 4 0 4 B)-4 0 4 0 3 C)-4 0 4 4 3 D)-4 0 4 4 0

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

#include

int main()

{char ch[7]={"12ab56"}; int i,s=0;

for(i=0;ch[i]>= '0'&&ch[i]<='9';i+=2)

s=10*s+ch[i]-'o';

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

return0;

}

A.1

B.1256

C.12ab56

D.15

24、以下程序的运行结果是()。

#include

int fun(int a,int B.

{if(a>B.return(a+B.;

else return(a-B.;

int main()

{int x=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

printf("%d\n",r);

return(0);

}

A.-16

B.-17

C.17

D.16

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

#include

int main()

{int x,i;

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

{x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

printf("%d",x);

}

return 0;

}

A.39 81

B.42 84

C.26 68

D.28 70

三、读程序填空

26、以下程序的输出结果是_______。

#include

int main()

{float a=123.456;

double b=8765.4567;

printf("(1)%f\n",a);

printf("(2)%14.3f\n",a);

printf("(3)%6.4f\n",a);

printf("(4)%lf\n",b);

printf("(5)%14.3lf\n",b);

printf("(6)%8.4lf\n",b);

printf("(7)%.4f\n",b);

return 0;

}

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

#include

int main()

{short i;

i=一4;

printf("\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n",i,i,i,i);return 0;

}

28、以下函数fun的功能是:统计用数字0~9可以组成多少个位值相同的3位偶数。请填空。

#include

int fun()

{int n=0,i,j,k;

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

for(k=0;k<=8;k=_______)

for(j=0;j<=9;j++)

if(_______)n+十;

return n;

int main()

{int n;

n=fun();

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

return(0);

}

29、当输入的数值x为4,y为3时,以下程序运行后t的值是_______。

#include

long fun(long x,long y)

{int i;longt=1;

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

t=t*x%100;

return t;

}

int main()

{longx,y,t;

printf("\ninput xand y:\n");

scanf("%ld%ld",8&.x,8.y);

t=fun(x,y);

printf("\nx=%1d,y=%ld,last=%ld\n",x,y,t);

return(0);

}

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

#include

int main()

{int i=1;

while(i<=15)

if(++i%3!=2)continue;

else printf("%d",i);

return 0;

}

31、下面程序用插入法对数组a进行降序排序。请填空。

#include

int main()

{int a[5]={4,7,2,5,1},i,j,m;

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

{m=a[i];

j=_______;

while(j>=08.8.m>a[j])

{_______;j-一;}

_______=m;

for(i=0;i<5;i++)

printf("%d",a[]);

return 0;

}

32、若运行时输入“5999<回车>”,则以下程序的运行结果(保留小数点后一位)是_______。

#include

int main()

{intx;float y;

scanf("%d”,&x);

if(x>=08&8x<=2999)y=18+0.12*x;

if(x>=3000&&x<=5999)y=36+0.6*x;

if(x>=60008.&x<=10000)y=54+0.3*x;

printf("%6.1f",y);

return 0;

}

33、以下程序的运行结果是_______。

#include

#define N7

int fun(int*a,int*x)

{inti,j=0;

for(i=0;i

if(*(a+i)<60){*(x+j)=*(a+i);j++;}

return j;

}

int main()

{int a[N]={22,99,44,66,55,88,33},x[N],i,k;

k=fun(a,x);

for(i=0;i

printf("%d",x[i]);

printf("\n");

return(0);

}

四、编程题

34、从键盘输入一个字符串,然后按照下面要求输出一个新字符串。新串是在原

串中每两个字符之间插入一个空格,如原串为abcd,则新串为a□b□c□d(□代表

空格)。要求在函数insert中完成新串的产生;并在函数中完成所有相应的输入和

输出。

35、已知head指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(next)。请编写函数实现如图10-8所示链表的逆置。

若原链表为:

逆置后的链表应为:

参考答案

一、填空题

1、A囗囗囗B囗囗囗<回车>

2、【1】scanf【2】printf

3、函数

4、变量

5、X*(X*(X*(X*(X*(X*(5*X+3)一4)+2)+1)-6)+1)+10

6、$$$

7、36

8、4

9、600

10、【1】char a,*p;【2】scanf("%c",8.a);【3】p=8.a;

二、选择题

11、D

12、D

13、C

14、A

15、D

16、D

17、D

18、C

19、D

20、B

21、C

22、C

23、A

24、B

25、D

三、读程序填空

26、(1)123.456000

(2)口口口口口口口123.457

(3)123.4560

(4)8765.456700

(5)口口口口口口8765.457

(6)8765.4567

(7)8765.4567

27、i:dec=-4,oct=177774,hex=fffc,unsigned=65532

28、【1】k+2【2】j==i&&i==k

29、64

(注:函数fun的功能是求整数x的y次方的低2位值。例如,整数4的3次方低2位值为64。)

30、2581114

31、【1】i-1【2】a[j+1]=a[i]【3】a[j+1]

32、3635.4

33、22 44 55 33

四、编程题

34、#include

#include

void insert(char*p);

int main()

{char str[80];

printf("Input a string:\n");

gets(str);

insert(str);

printf("Result is:%s\n",str);return(0);

}

void insert(char*p)

{int i;

for(i=strlen(p);i>0;i--)

{*(p+2*i)=*(p+i);

*(p+2*i-1)='';

}

}

35、typedef int datatype; typedef struct node {datatype data; struct node *next;

}linklist;

INVERT(linklist*head)

{linklist*p,*q;

p=head->next;if(p!=NULL)

{head->next=NULL;do

{q=p->next;

p->next=head->next;

head->next=p;

p=q;

}

while(p!=NULL);

}

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

2022年大连理工大学城市学院公共课《C语言》科目期末试卷B(有 答案) 一、填空题 1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。 char cl,c2; scanf("%4c%4c",&cl,8&c2); 2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数 ________完成的。 3、C语言源程序的基本单位是________ 4、在C语言的赋值表达式中,赋值号左边必须是_______ 5、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。 5x7+3x6-4x5+2x1+x3-6x2+x+10 6、请读程序段: 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、下面程序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]); 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、请填空: 建立如图所示存储结构所需的说明语句是_______。 建立如图所示为变量a输入数据的输入语句是_______。 建立如图所示存储结构所需的赋值语句是_______。 二、选择题 11、以下正确的叙述是( )。 A.在C程序中,每行中只能写一条语句 B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C.在C程序中,无论是整数还是实数,都能被准确无误地表示

大连理工大学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

c语言期末机考(大连理工大学题库)

转过不少资料神马的。。我也发一个回报一下~祝大家都有个好成绩~ 【第一套】 一、单项选择 1.下列数据中,为字符串常量的是(d)。 A、'A' B、How do you do. C、$abc D、"house" 2.以下所列的C语言常量中,错误的是(b )。 A、0xFF B、1.2e0.5 C、2L D、'\72' 3.以下程序的输出结果是(d。 main() {float x=3.6; int i; i=(int)x; printf("x=%f,i=%d\n",x,i); } A、x=3.,i=4 B、x=3 i=3. C、x=3,i=3 D、x=3.,i=3 4.若k是整型,则以下程序段的执行结果是:(b k=-3; if(k<=0) printf("####") else printf("&&&&"); A、#### B、有语法错误,无结果 C、&&&& D、####&&&& 5.若x=2,y=3则x||y的结果是( c)。 A、3 B、0 C、1 D、2 6.针对下列程序段回答问题( ). for(t=1;t<=100;t++) { scanf("%d",&x); if(x<0) continue; printf("%3d",t); }

A、x>=0时什么也不输出 B、最多允许输出100个非负整数 C、printf函数永远也不执行 D、当x<0时整个循环结束 7.以下程序的执行结果是( )。 main() { int num = 0; while( num <= 2 ) { num++; printf( "%d,",num ); } } A、0,1,2 B、1,2,3, C、1,2,3,4, D、1,2, 8.选择正确的输入语句( )。:(其中:char string[20];)使得string的内容为"I am student". A、scanf("%s", string); B、scanf("%c", &string); C、scanf("%s", &string); D、gets(string); 9.对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。 A、将5个初值依次赋给a[6]至a[10] B、将5个初值依次赋给a[0]至a[4] C、因为数组长度与初值的个数不相同,所以此语句不正确 D、将5个初值依次赋给a[1]至a[5] 10.以下标识符中可以作为用户函数名的是(). A、struct B、int C、union D、go_to 11.以下叙述错误的是(). A、函数调用可以出现在一个表达式中 B、函数调用可以作为一个函数的形参 C、函数调用可以作为一个函数的实参 D、函数允许递归调用 12.若用数组名作为函数的实参,传递给形参的是()。 A、数组第一个元素的值 B、数组的首地址 C、数组元素的个数 D、数组中全部元素的值 13.在C语言程序中()。 A、函数的定义可以嵌套,但函数的调用不可以嵌套 B、函数的定义不可以嵌套,但函数的调用可以嵌套 C、函数的定义和函数调用不可以嵌套 D、函数的定义和函数调用均可以嵌套 14.下列说法中正确的是( ). A、函数调用不占运行时间,只占编译时间.

大连理工大学超星尔雅学习通“计算机科学与技术”《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语言》科目期末试卷B(有答案)

2022年大连科技学院公共课《C语言》科目期末试卷B(有答案) 一、填空题 1、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。 union {int n;doublex;}num; num.n=10; num.x=10.5; printf("_______",_______); 2、C语言的源程序必须通过【】和【】后,才能被计算机执行。 3、一个C语言源程序由若干函数组成,其中至少应含有一个________ 4、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。 5、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______ 6、请读程序段: int a=1,b=2; if(a&b)printf("***\n"); else printf("$$ $\n"); 以上程序段的输出结果是_______。 7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。请填空。

for(x=0;x<=30;x++) {y=30一x; if(_______)printf("%d,%d\n",x,y); } 8、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。 9、假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是_______。 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、以下不正确的叙述是( )。 A.在C程序中,逗号运算符的优先级最低 B.在C程序中,APH和aph是两个不同的变量 C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放入a中,而b中的值不变 D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输 入实型数值

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

2022年北部湾大学公共课《C语言》科目期末试卷B(有答案) 一、填空题 1、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、 cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为 _______。 2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是 3、C语言的源程序必须通过【】和【】后,才能被计算机执行。 4、若有定义语句: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的值是_______。 5、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。 6、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。 7、下面程序段中循环体的执行次数是_______。 a=10;b=0; do{b+=2;a-=2+b;}while(a>=0); 8、设有以下宏定义: #define WIDTH80 #define LENGTH(WIDTH+40) 则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。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、若有以下定义和语句: 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、若有代数式3ac ,则不正确的C语言表达式是( )。 bc A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/b*3 12、设有说明语句:char w;intx;float y;double z;则表达式w*x+z-y值的数据类型为()。 A.float. B.char C.int D.double 13、以下叙述不正确的是( ) A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main函数 C.C程序的基本组成单位是函数 D.在C程序中,注释说明只能位于一条语句的后面 14、一个C语言程序由( )。 A.一个主程序和若干子程序组成 B.函数组成

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

2022年南通理工学院公共课《C语言》科目期末试卷B(有答案) 一、填空题 1、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、 cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为 _______。 2、C语言源程序的基本单位是________ 3、在C语言源程序中,一个变量代表【】。 4、若有定义语句:int a=2,b=3;float x=3.5,y=2.5;则表达式(float) (a+b)/2+(int)x%(int)y的值为_______ 5、假设变量a、b均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_______。 6、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。 7、执行下面程序段后,k的值是_______。 k=1;n=263; do{k*=n%10;n/=10;} while(n); 8、下面程序段将输出computer。请填空。 char c[]="It is a computer"; for(i=0;_______;i++) {_______;printf("%c",c[j]);} 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、下面程序段的运行结果是_______。 chara[]="12345",*p; int s=0; for(p=a;*p!=\0';p++) s=10*s+*p-'o'; printf("%d\n",s); 二、选择题 11、下面4个选项中,是不合法的整型常量的选项是 ( )。 A.--0f1 B.-0Xcdf C.-018 D.-0x48eg 0xfff 017 999 -0680 011 12.456 5e2 03f 12、下面正确的字符常量是( ) A."c" B. "\\" C. 'w' D. " 13、一个C语言程序由( )。 A.一个主程序和若干子程序组成 B.函数组成 C.若干过程组成 D.若干子程序组成 14、以下叙述正确的是 A.在C程序中,main函数必须位于程序的最前面 B.C程序的每行中只能写一条语句

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

2022年东北电力大学公共课《C语言》科目期末试卷B(有答案) 一、填空题 1、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。 union {int n;doublex;}num; num.n=10; num.x=10.5; printf("_______",_______); 2、C语言的源程序必须通过【】和【】后,才能被计算机执行。 3、C语言源程序的基本单位是________ 4、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式 ch='a'+'8'-3'的值为_______。 5、假设变量a、b均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_______。 6、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。 7、函数swap(int x,inty)可完成对x和y值的交换。在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。 a[o]=1;a[1]=2; swap(a[o],a[1]);

8、假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是_______。 9、字符串"ab\n\\012\\\"”的长度是_______。 10、若有以下定义和语句,在程序中可通过指针数组p,用*(p[i]+j)等4种形式引用数组元素s[i][j],另3种形式分别是:_______、_______和_______。(假设i、j已正确说明并赋值。) int s[10][6],*p[10]; for(i=0;i<10;i++)p[i]=s[i]; 二、选择题 11、下面4个选项中,是非法常量的选项是( )。 12、sizeof(float)是()。 A.一个双精度型表达式 B.一个整型表达式 C.一种函数调用 D.一个不合法的表达式 13、一个C语言程序由( )。 A.一个主程序和若干子程序组成 B.函数组成 C.若干过程组成 D.若干子程序组成 14、C语言规定:在一个源程序中,main函数的位置( ) A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后

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

2022年喀什大学公共课《C语言》科目期末试卷B(有答案) 一、填空题 1、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。 struct s{char data; _______ }node; 2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是 3、C语言源程序的基本单位是________ 4、在C语言中的实型变量分为两种类型,它们是_______和_______。 5、若采用十进制数的表示形式,则077为_______,0111为_______,0xab为 _______。 6、请读以下函数: getbits(unsigned x,unsigned p,unsigned n)' {x=((x<<(p+1-n))&((unsigned)~0>>n)); return(x); } 假设机器的无符号整数字长为16位。若调用此函数时x=0115032,p=7,n=4,则函数返回值的八进制数是_______。 7、下面程序段的运行结果是_______。 x=2;

do{printf("*");x--;)while(!x==0); 8、下面程序段的运行结果是_______。 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); 9、下面程序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]); 10、以下程序段通过指针变量q,但不移动q,将如图所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。请填空。(假设程序段中的所有变量均已正确说明。) for(k=0;k<10;k++) printf("%d,",_______); printf("\n"); 二、选择题 11、下面4个选项中,是不合法的转义字符的选项是() A.'\"' B.'\1011 ' C.'\0ll' D.'\abe' \\ '\' '\f' '\0ll' \xf' ' \a' '\]' 'xlf'

2022年石家庄城市经济职业学院公共课《C语言》科目期末试卷B(有答案)

2022年石家庄城市经济职业学院公共课《C语言》科目期末试卷 B(有答案) 一、填空题 1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。 char cl,c2; scanf("%4c%4c",&cl,8&c2); 2、下面程序段是找出整数的所有因子。请填空。 scanf("%d",&x); i=1;for(;_______;) {if(x%i==0)printf("%3d",i); i++; } 3、下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分是_______,改正后为_______。 void add(float a,float b) {float c; c=a+b; return c; } 4、若有定义语句:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为_______。

5、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式 ch='a'+'8'-3'的值为_______。 6、设有以下宏定义: #define WIDTH 80 #define LENGTH WIDTH+40 则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。 7、请读程序段: unsigned a=16; printf("%d,%d,%d\n",a>>2,a=a>>2,a);以上程序段的输出结果是_______。 8、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数 ________完成的。 9、C语言源程序的基本单位是________ 10、若想输出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 } 二、选择题

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

2022年烟台理工学院公共课《C语言》科目期末试卷B(有答案) 一、填空题 1、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值 的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。 2、一个C语言源程序由若干函数组成,其中至少应含有一个________ 3、结构化程序由________、________ 、________ 3种基本结构组成。 4、C语言中的标识符可分为关键字、_______和_______3类。 5、若x和a均是int型变量,则执行表达式(1)后的x值为_______,执行表达式(2)后的x值为_______。 (1)x=(a=4,6*2)(2)x=a=4,6*2 6、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。 7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分 是_______,改正后为_______。 void add(float a,float b) {float c; c=a+b; return c; } 8、设有宏定义如下: #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); 9、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。 10、当运行以下程序时,从键盘输入 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)) } 二、选择题 11、对应以下各代数式中,若变量a和x均为double类型,则不正确的C语言表达式是( )

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

2022年上海工程技术大学公共课《C语言》科目期末试卷B(有答案) 一、填空题 1、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、 cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为 _______。 2、C语言的源程序必须通过【】和【】后,才能被计算机执行。 3、C语言源程序的基本单位是________ 4、若a是int型变量,则执行表达式a=25/3%3后a的值为_______ 5、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是 _______ 6、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数 是_______。 7、下面程序段是找出整数的所有因子。请填空。 scanf("%d",&x); i=1;for(;_______;) {if(x%i==0)printf("%3d",i); i++; } 8、下面程序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]);

9、字符串"ab\n\\012\\\"”的长度是_______。 10、若想输出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 } 二、选择题 11、下面4个选项中,是C语言关键字的选项是( )。 A.auto B. switch C. signed D. if Enum typedef union struct include continue scanf type 12、在C语言中,要求运算数必须是整型的运算符是( )。 (A) / B.++ C.!= D.% 13、一个C程序的执行是从() A.本程序的main函数开始,到main函数结束

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

2022年青岛理工大学公共课《C语言》科目期末试卷B(有答案) 一、填空题 1、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。 2、C语言的源程序必须通过【】和【】后,才能被计算机执行。 3、结构化程序由________、________ 、________ 3种基本结构组成。 4、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。 5、在C语言中,用关键字_______定义单精度实型变量,用关键字_______定义双精度实型变量,用关键字_______定义字符型变量。 6、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。 7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。请填空。 for(x=0;x<=30;x++) {y=30一x; if(_______)printf("%d,%d\n",x,y); } 8、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。 9、设有如下定义: #define SWAP(T,X,Y){T=X;X=Y;Y=T;} 以下程序段将通过调用宏实现变量x和y内容的交换,请填空。 Double x=2.5,y=6.4,z;SWAP(_______);

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、以下正确的叙述是( )。 A.在C程序中,每行中只能写一条语句 B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C.在C程序中,无论是整数还是实数,都能被准确无误地表示 D.在C程序中,%是只能用于整数运算的运算符 12、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )。 A.int B.float C.double D.不确定 13、一个C程序的执行是从() A.本程序的main函数开始,到main函数结束 B.本程序的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序的第一个函数开始,到本程序main函数结束 14、以下叙述不正确的是( ) A.一个C源程序可由一个或多个函数组成

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

2022年河海大学公共课《C语言》科目期末试卷B(有答案) 一、填空题 1、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、 cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为 _______。 2、C语言源程序的基本单位是________ 3、结构化程序由________、________ 、________ 3种基本结构组成。 4、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为_______。 5、C语言所提供的基本数据类型包括:单精度型、双精度型、_______、_______和_______。 6、测试char型变量a第6位是否为1的表达式是_______(设最右位是第1位)。 7、下面程序段中循环体的执行次数是_______。 a=10;b=0; do{b+=2;a-=2+b;}while(a>=0); 8、下面程序段的运行结果是_______。 int i=5;char c[6]="abcd"; do{c[i]=c[i-1];}while(--i>0); puts(c); 9、下面程序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]); 10、下面程序可求出图中方括号内的元素之积,请填空。# include 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); } 二、选择题 11、在C语言中,要求运算数必须是整型的运算符是( )。 (A) / B.++ C.!= D.% 12、表达式18/4*sqrt(4.0)/8值的数据类型为() A.int B.float C.double D.不确定 13、以下叙述正确的是 A.在C程序中,main函数必须位于程序的最前面 B.C程序的每行中只能写一条语句 C.C语言本身没有输入输出语句

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

2022年中国矿业大学公共课《C语言》科目期末试卷B(有答案) 一、填空题 1、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.8 2、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; } 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、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。 5x7+3x6-4x5+2x1+x3-6x2+x+10 6、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。 7、函数swap(int x,inty)可完成对x和y值的交换。在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。 a[o]=1;a[1]=2; swap(a[o],a[1]); 8、设有宏定义如下: #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); 9、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。 10、下面程序段的运行结果是_______。 chara[]="12345",*p; int s=0; for(p=a;*p!=\0';p++) s=10*s+*p-'o';

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

2022年温州理工学院公共课《C语言》科目期末试卷B(有答案) 一、填空题 1、设有如下结构体说明: struct ST {int a;float b; struct ST*c; doublex[3]; }st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。 _______ 2、结构化程序由________、________ 、________ 3种基本结构组成。 3、在C语言源程序中,一个变量代表【】。 4、若有定义语句:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为_______。 5、C语言中的标识符可分为关键字、_______和_______3类。 6、把int类型变量low中的低字节及变量high中的高字节放入变量s中的表达式是 _______。 7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分 是_______,改正后为_______。 void add(float a,float b) {float c; c=a+b; return c;

} 8、设有以下宏定义: #define WIDTH 80 #define LENGTH WIDTH+40 则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。9、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。 10、若有以下定义和语句,在程序中可通过指针数组p,用*(p[i]+j)等4种形式引用数组元素s[i][j],另3种形式分别是:_______、_______和_______。(假设i、j已正确说明并赋值。) int s[10][6],*p[10]; for(i=0;i<10;i++)p[i]=s[i]; 二、选择题 11、下面4个选项中,是不合法的浮点数的选项是( )。 A.160. B.123 C.-18 D.-e3 12、若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值为( )。 A.4 B.16 C.32 D.52 13、C语言规定:在一个源程序中,main函数的位置( ) A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 14、以下叙述正确的是

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

2022年大连理工大学公共课《C语言》科目期末试卷B(有答案) 一、填空题 1、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。 2、结构化程序由________、________ 、________ 3种基本结构组成。 3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数 ________完成的。 4、若有定义语句:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为_______。 5、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______ 6、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。 7、函数swap(int x,inty)可完成对x和y值的交换。在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。 a[o]=1;a[1]=2; swap(a[o],a[1]); 8、下面程序段将输出computer。请填空。 char c[]="It is a computer"; for(i=0;_______;i++) {_______;printf("%c",c[j]);} 9、下面程序段的运行结果是_______。 int i=5;char c[6]="abcd";

相关文档
相关文档 最新文档