第一篇:青岛科技大学c语言期末考试题1
一、单项选择题(15个小题,每题2分,共30分): 1.一个C语言程序的执行是从_____。A.main函数开始,直到main函数结束 B.第一个函数开始,直到最后一个函数结束 C.第一个函数开始,直到最后一个语句结束 D.main函数开始,直到最后一个函数结束 2.正确的自定义标识符是_____。A.x_2 B.a-b C.2sum D.$123 3.下面程序的运行结果是_____。#define F(x)x*x void main(){ int a=2,b=1;prinft(“%dn”,F(a+b));} A.3 B.5 C.8 D.9 4.读以下程序段,判断a的值为_____。int *p,a=10,b=1;p=&a;a=*p+b;A.12 B.10 C.11 D.编译出错
5.根据以下说明语句,则下面的叙述中不正确的是_____。struct student { int num;char name[10];int score;}stu;A.struct是定义结构体类型的关键字 B.stu是结构体变量名
C.num, name, score都是结构体成员名 D.stu是结构体类型名
6.已知字母A的ASCII码为十进制数65,变量ch1为字符型,则执行语句ch1=‘A’+‘5’-‘2’;后,ch1中的值是_____。
A.D B.67 C.一个不确定的值 D.C 7.以下哪种方法不能对一维数组进行正确的初始化_____。A.int a[ ]={1,2,3};B.int a[5]={ };C.int a[5]=(1,2,3,4,5);D.int a[ ]={2,3,4*5,6};8.已正确定义字符变量ch1,下面能正确赋值的是_____。A.ch1=“a”;B.ch1=‘a’;
C.ch1=“C语言程序设计”;D.ch1=‘ C语言程序设计’;9.逗号表达式(a=3*4,a*4),a+5 的值是_____。A.53 B.17 C.20 D.48 10.设n为float型,m为int型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入的表达式是_____。
A.n=(n*100+0.5)/100.0 B.n=n*100+0.5/100.0 C.m=n*100+0.5,n=m/100.0 D.n=(n/100+0.5)*100.0 11.设i=2,j=3,则表达式(i++)*(++j)的值为_____。A.6 B.8 C.9 D.12 12.关于以下程序段,说法正确的是_____。x=-1;do { x=x*x;}while(!x);A.死循环 B.循环体执行二次 C.循环体执行一次 D.有语法错误
13.若有下列定义:char c[5],*p=c;则对c数组元素地址的正确引用是_____。A.p+2 B.&c[5] C.c++ D.&c 14.当调用函数时,实参是一个数组名,则向函数传送的是_____。A.数组的长度 B.数组每个元素中的值 C.数组每一个元素的地址 D.数组的首地址
15.文件中利用fopen函数打开文件,如果以只读方式打开二进制文件,则以下打开方式正确的是_____。A.r+ B.rb C.wb D.ab
二、填空题(5个小题,每题2分,共10分):
1.若有int i=1,j=7,a;执行语句 a=i+(j%4!=0);后,a的值是_______。2.执行以下程序后,运行结果是_______。#include
3.源程序中用到了strcat函数,需要包含的头文件(即库文件)为_______。4.执行以下程序后,运行结果是_______。#include
5.语句 scanf(“a=%d,b=%d”,&a,&b);若将3和4分别输入给a和b,则正确的输入方式为____
三、程序分析题,写出程序的运行结果(5个小题,每题4分,共20分): 1.#include
2.在运行以下程序时,输入“Turbo C++ 3.0”,写出程序的运行结果。#include
四、程序填空题,将下面程序补充完整(10个填空,每空2分,共20分): 1.输出九九表。#include “stdio.h” void main(){ int i,j;for(i=1;i<=9;i++){for(j=1;①;j++)
printf(“%3d*%d=%2d”,i,j,i*j);②;} } 2.利用函数形式,求x数组所有元素的平均值并输出。#include “stdio.h” ①;
void main(){ float avg,x[10]={1.2,3.6,4.5,5.1,6.9,7,8,9,10.5,11.3};avg=average(x);printf(“The average is %5.2fn”,avg);} float average(float a[10]){ int i;float sum=0;for(i=0;i<10;i++)sum=sum+a[i];②;} 3.编写一个计算字符串长度的函数length。#include “stdio.h” void main(){ char str[20];int m;int length(char *p);printf(“Input a string:n”);gets(str);①;
printf(“n the length of str is%d ”,m);} int length(char *p){ int n=0;while(②){ n++;p++;} return n;} 4.输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。#include “stdio.h” void main(){ int i,n=10,a[10];float avg=0;for(i=0;i
else if(*cp>=‘a’&&*cp<=‘z’)*cp=*cp-32;②;} puts(str);}
五、程序设计题(3个小题,共20分):
1.设三个整型变量a,b,c,编写程序为a,b,c输入数据,并要求a,b,c按由小到大排序后输出。(5分)2.学生成绩可分为五分制与百分制,编程将百分制转换为五分制输出。(5分)3.编写排序函数sort(int a[ ]),实现对数组a中的元素进行排序,并利用该函数,从键盘输入若干个数(如10个)将其按升序排列。(10分)
第一套试题
一、单项选择题(15个小题,每题2分,共30分): 1-5:AABCD 6-10:ACBBC 11-15:BCADB
二、填空题(5个小题,每题2分,共10分): 1.2 2.4 3.string.h 4.7.000000 5.a=3,b=4
三、程序分析题,写出程序的运行结果(5个小题,每题4分,共20分): 1.a=2,b=1 2.Turbo 3.5+4+1=10 4.10,20 5.a+b=9 10+4+2=16
四、程序填空题,将下面程序补充完整(10个填空,每空2分,共20分): 1.①j<=i ②printf(“n”)
2.①float average(float a[10])或 float average(float a[ ])②return(sum/10)
3.①m=length(str)②*p!=‘ ’ 或 *p 4.①i%3==0 ②avg+=a[i] 或 avg=avg+a[i] 5.①*cp=*cp+32或*cp=*cp+‘a’-‘A’ ②cp++
五、程序设计题(3个小题,共20分): 1.#include “stdio.h” void main(){ int a,b,c,t;printf(“input a,b and c:”);scanf(“%d%d%d”,&a,&b,&c);„„1分 if(a>b){ t=a;a=b;b=t;} „„3分 if(a>c){ t=a;a=c;c=t;} if(b>c){ t=b;b=c;c=t;} printf(“%d%d%d”,a,b,c);„„1分 } 2.#include “stdio.h” void main(){ float score;printf(“Input a score:”);scanf(“%f”,&score);
while(score>100||score<0)„„2分
{ printf(“Error!Please input again:n”);scanf(“%f”,&score);} if(score>=90)printf(“An”);„„3分 else if(score>=80)printf(“Bn”);else if(score>=70)printf(“Cn”);else if(score>=60)printf(“Dn”);else printf(“En”);} 3.#include “stdio.h” #define N 10 void sort(int a[ ]);„„1分 void main(){ int a[N],i,j;printf(“input %d numbers:n”,N);for(i=0;i
第二篇:青岛科技大学2016-2017-1人工智能期末考试题
一、谓词逻辑证明
1、设有前提:
(1)凡是大学生都学过计算机;
(2)小王是大学生。
试问:小王学过计算机吗? 解:令S(x):x是大学生 M(x):x学过计算机; a:小王
上面命题用谓词公式表示为:
(1)x(S(x)M(x))(2)S(a)
我们进行形式推理:
[前提]
(2)S(a)M(a)
[(1)US](3)S(a)
[前提](4)M(a)
[(2)(3)I3] M(a),即小王学过计算机。
2、用谓词公式表示下述命题。已知前提:
(1)自然数都是大于零的整数。(2)所有整数不是偶数就是奇数。(3)偶数除以2是整数。
结论:所有自然数不是奇数就是一半为整数的数。
化F1 F2 F3 ¬G的子句集。
F1: x(N(x)GZ(x) I(x))
F2: x(I(x)(E(x)O(x)))
F3: x(E(x) I(s(x)))
G: x(N(x)(I(s(x))O(x)))解:F1 F2 F3 ¬G的子句集为(1)¬N(x) GZ(x)(2)¬N(y) I(y)(3)¬I(z) E(z)O(z)(4)¬E(u) I(s(u))(5)N(a)(6)¬O(a)(7)¬I(s(a)
3、设已知:
(1)能阅读者是识字的;
(2)海豚不识字;
(3)有些海豚是很聪明的。
试证明:有些聪明者并不能阅读。证
首先定义如下谓词:
R(x):x能阅读。
L(x):x能识字。
I(x):x是聪明的。
D(x):x是海豚。
将上述各语句翻译成谓词公式:
(1)(x)(R(x)L(x))
(2)(x)(D(x)¬L(x))
已知条件
(3)(x)(D(x) I(x))
(4)(x)(I(x) ¬ R(x))
需证结论
用归结反演法来证明,求题设与结论否定的子句集,得:
(1)¬ R(x) L(x)
(2)¬ D(y) ¬L(y)
(改名)
(3)D(a)
(4)I(a)
(5)¬ I(z) R(z)归结得:
(6)R(a)
[(5),(4),{a/z}]
(7)L(a)
[(6),(1),{a/x}]
(8)¬D(a)
[(7),(2),{a/y}]
(9)Nil
[(8),(3)]
二、框架语义网络显示
1、试实现一个“大学教师”的框架,大学教师类属于教师,包括以下属性:学历(学士、硕士、博士)、专业(计算机、电子、自动化、„„)、职称(助教、讲师、副教授、教授)解:
框架名:<大学教师> 类属:<教师> 学历:(学士、硕士、博士)专业:(计算机、电子、自动化、„..)职称:(助教、讲师、副教授、教授)
2、【虚拟新华社3月16日电】昨日,沙尘暴袭击韩国汉城,机场与高速公路被迫关闭,造成的损失不详。韩国官方示,如果需要直接损失情况,可待一周后的官方公布的字。此次沙尘暴起因中日韩专家认为是由于中国内蒙古区过分垦牧破坏植被所致。解:
框架名:<沙尘暴> 时间:3月15日 地点:韩国汉城 损失:不详
起因:中国内蒙古区
3、假设有以下一段天气预报:“北京地区今天白天晴,偏北风3级,最高气温12º,最低气温-2º,降水概率15%。”请用框架表示这一知识。
解:Frame<天气预报>
地域:北京
时段:今天白天
天气:晴
风向:偏北
风力:3级
气温:最高:12度
最低:-2度
降水概率:15%
三、确定性理论求解
1、设有如下一组产生式规则和证据事实,试用确定性理论求出由每一个规则推出的结论及其可信度。
规则:
① if A then B(0.9)
② if B and C then D(0.8)
③ if A and C then D(0.7)
④ if B or D then E(0.6)事实:
A,CF(A)=0.8;C,CF(C)=0.9 解:
规则①得:CF(B)=0.9×0.8=0.72
由规则②得:CF(D)1=0.8×min{0.72,0.9)=0.8×0.72=0.576
由规则③得:CF(D)2=0.7×min{0.8,0.9)=0.7×0.8=0.56
从而 CF(D)=CF(D)1+CF(D)2-CF(D)1×CF(D)2
=0.576+0.56-0.576×0.56=0.32256
由规则④得:
CF(E)=0.6×max{0.72,0.32256}=0.6×0.72=0.432
2、P180:习题八-7题 设有如下一组规则: R1: if E1 then E2(0.6)R2: if E2 and E3 then E4(0.8)R3: if E4 then H(0.7)R4: if E5 then H(0.9)且已知
CF(E1)=0.5, CF(E3)=0.6, CF(E5)=0.4 用确定性理论求CF(H).四、prolog语言
1、predicates student(integer,string,real)grade goal grade.clauses student(1,”zhangsan”,90.2).student(2,”lisi”,95.5).student(3,”wangwu”,96.4).grade:-write(“please enter a name:”),readln(Name), student(_,Name,Score), nl,write(name,”grade is:”,Score).grade:-write(“sorry,cant find the student!”).运行结果截图:
2、domains X=symbol predicates r(X)q(X)p(X)goal r(Y),write:(“Y=”,Y).clauses p(a).p(b).q(b).r(X):-p(X),q(X).r(c).程序运行结果截图:
3、domains s=symbol predicates p(s)p1(s)p2(s)p3(s)p4(s)p5(s,s)p11(s)p12(s)p31(s)goal p(X),write(“rhe x is ”,X).clauses p(a1):-p1(b),p2(c).p(a2):-p1(b),p3(d),p4(e).p(a3):-p1(b),p5(f,g).p1(b):-p11(b1),p12(b2).p3(d):-p31(d1).p2(c1).p4(el).p5(f,g).p11(b1).p12(b2).P31(d11).程序运行结果截图:
4、domains name=symbol predicates mother(name,name)father(name,name)grandfather(name,name)grandmother(name,name)sister(name,name)aunt(name,name)goal grandmother(a,X),write(“X=”,X),nl, father(b,Y),write(“Y=”,Y),nl, sister(c,Z),write(“Z=”,Z),nl, aunt(d,T),write(“T=”,T).clauses mother(a,c).mother(a,d).mother(c,g).mother(c,f).father(b,c).father(b,d).father(e,g).father(e,f).grandfather(X,Z):-father(X,Y),father(Y,Z).grandmother(X,Z):-mother(X,Y),mother(Y,Z).sister(X,Y):-mother(Z,X),mother(Z,Y).aunt(X,Y):-mother(Z,Y),sister(Z,X).程序运行结果截图:
五、最优解树、代价、结点与或
1、如图3-16所示的与或树, 其中包括两棵解树, 一棵解树由Qo,A,t1和t2组成;另一棵解树由Qo,B,D,G,t4和t5组成。在此与或树中,t1,t2,t3,t4,t5为终止节点;E,F是非终止的端节点, 其代价均为∞;边上的数字是该边的代价。
由右边的解树可得:
按和代价: g(A)=11,g(Qo)=13
按最大代价:g(A)=6, g(Qo)=8
由左边的解树可得:
按和代价: g(G)=3, g(D)=4, g(B)=6, g(Qo)=8
按最大代价: g(G)=2, g(D)=3, g(B)=5, g(Qo)=7
Q02B2D1G2t51t4Ft3E321C1t2t152A6
2、设有如图3-24所示的一棵与或树,请指出解树;并分别按和代价及最大代价求解树代价;然后,指出最优解树。
一棵解树由S0, A, D, t1, t2, t3组成;另一棵解树由S0, B, E, t4, t5组成; 左边解树:
按和代价:g(D)=4, g(A)=7, g(S0)=12 按最大代价:g(D)=2, g(A)=5, g(S0)=10 右边解树:
按和代价:g(E)=2, g(B)=11, g(S0)=18 按最大代价:g(E)=2, g(B)=7, g(S0)=14 按和代价计算,左边的解树为最优解树,按最大代价计算,仍是左边的解树为最优解树。因此,左边的解树为最优解树。
S05A6C1t12t23D1t3t42t547B5E3F
六、基于谓词逻辑的问答
1、已知:(1)如果x是y的父亲,y又是z的父亲,则x是z的祖父。
(2)老李是大李的父亲。
(3)大李是小李父亲。
问:上述人员谁和谁是祖孙关系? 解
首先定义如下谓词:
G(x,y)表示x是y的祖父。
F(x,y)表示x与y是父亲。已知条件可以表示成如下谓词公式:
F1: x yz(F(x,y) F(y,z)G(x,z))
F2:
F(Lao,Da)
F3:
F(Da,Xiao)
并求其子句集如下:
(1)¬ F(x,y) ¬ F(y,z) G(x,z)
(2)F(Lao,Da)
(3)F(Da,Xiao)
设求证的公式为:
G: x yG(x,y)
(既存在x和y,x是y的祖父)
把其否定化为子句形式再析取一个辅助谓词GA(u,v)
(4)¬ G(u,v) GA(u,v)把其否定化为子句形式再析取一个辅助谓词GA(u,v)
(1)¬ F(x,y) ¬ F(y,z) G(x,z)
(2)F(Lao,Da)
(3)F(Da,Xiao)
(4)¬ G(u,v) GA(u,v)
对上式进行归结:
(5)¬ F(Da,z) G(Lao,z)
[(1),(2),{Lao/x,Da/y}]
(6)G(Lao,Xiao)
[(3),(5),{Xiao/z}]
(7)GA(Lao,Xiao)
[(4),(6),{Lao/u,Xiao/v}]
所以上述人员中,老李是小李的祖父。
2、假设张被盗,公安局派出5个人去调查。案情分析时,贞察员A说:“赵与钱中至少有一个人作案”,贞察员B说:“钱与孙中至少有一个人作案”,贞察员C说:“孙与李中至少有一个人作案”,贞察员D说:“赵与孙中至少有一个人与此案无关”,贞察员E说:“钱与李中至少有一个人与此案无关”。如果这5个侦察员的话都是可信的,使用归结演绎推理求出谁是盗窃犯。
解:设谓词P(x)表示x是盗窃犯.则题意可表述为如下的谓词公式: F1:P(zhao)P(qian)F2: P(qian)P(sun)F3: P(sun)P(li)F4: ¬P(zhao)¬P(sun)F5: ¬P(qian)¬P(li)求证的公式为: xP(x)子句集如下:
①P(zhao) P(qian)②P(qian) P(sun)③P(sun) P(li)④¬ P(zhao) ¬ P(sun)⑤¬ P(qian) ¬ P(li)⑥¬ P(x) GA(x)⑦P(qian) ¬ P(sun)
[①,④] ⑧P(sun) ¬ P(li)
[②,⑤] ⑨P(sun)
[③,⑧] ⑩GA(sun)
[⑥,⑨,{sun/x}] ⑪P(qian)
[⑦,⑨] ⑫GA(qian)
[⑥,⑪,{qian/x}
3、设A、B、C中有人从来不说真话,也有人从来不说谎话,某人向这三人分别同时提出一个问题:谁是说谎者?A答:“B和C都是说谎者”;B答:“A和C都是说谎者”;C答:“A和B中至少有一个人说谎”。用归结原理求谁是老实人,谁是说谎者? 解:用T(x)表示x说真话
如果A说的是真话则有:T(A)(¬T(B)∧ ¬T(C))如果A说的是假话则有: ¬ T(A)(T(B)∨
T(C))
对B和C所说的话做相同的处理,可得: T(B)(¬T(A)∧¬T(C))¬T(B)(T(A)∨ T(C))
T(C)(¬T(A)∨ ¬T(B))
¬ T(C)(T(A)∧
T(B))将上面的公式化为子句集,得到S:(1)¬ T(A)∨¬T(B)(2)¬ T(A)∨ ¬T(C)(3)T(A)∨ T(B)∨ T(C)(4)¬ T(B)∨¬T(C)(5)¬ T(A)∨¬T(B)∨¬T(C)(6)T(C)∨ T(A)(7)T(C)∨ T(B)首先求谁是老实人。把¬ T(x)∨ANS(x)并入S 中,得到子句集S 1,即S 1比S中多了一个子句:(8)¬ T(x)∨ANS(x)子句集S1:(1)¬ T(A)∨¬T(B)(2)¬ T(A)∨ ¬T(C)(3)T(A)∨ T(B)∨ T(C)(4)¬ T(B)∨¬T(C)(5)¬ T(A)∨¬T(B)∨¬T(C)(6)T(C)∨ T(A)(7)T(C)∨ T(B)(8)¬ T(x)∨ANS(x)
下面来证明B和A不是老实人,设A不是老实人,则有¬ T(A), 将其否定并入S中,得到子句集S2,即S2比S多了一个子句:(8)’¬(¬ T(A))即T(A)利用归结原理对进行归结:
(9)’
¬T(A)∨ T(C)
[(1),(7)](10)’
T(C)
[(6),(9)’](11)’
T(A)∨ T(C)
[(8)’,(10)’](12)’
NIL
[(2),(11)’]
七、产生式系统
1、猴子摘香蕉问题
一个房间里,天花板上挂有一串香蕉,有一只猴子可在房间里任意活动(到处走动,推移箱子,攀登箱子等)。设房间里还有一只可被猴子移动的箱子,且猴子登上箱子时才能摘到香蕉,问猴子在某一状态下(设猴子位置为a,箱子位置为b,香蕉位置为c),如何行动可摘取到香蕉。
1、综合数据库
定义5元组(M, B, Box, On, H)
M:猴子的位置 B:香蕉的位置 Box:箱子的位置 On=0:猴子在地板上 On=1:猴子在箱子上 H=0:猴子没有抓到香蕉 H=1:猴子抓到了香蕉
2、量水问题
对量水问题给出产生式系统描述,并画出状态空间图。
有两个无刻度标志的水壶,分别可装5升和2升的水。设另有一水缸,可用来向水壶灌水或倒出水,两个水壶之间,水也可以相互倾灌。已知5升壶为满壶,2升壶为空壶,问如何通过倒水或灌水操作,使能在2升的壶中量出一升的水来。
第三篇:c语言考试题12
(1)指挥、协调计算机工作的设备是(D)。选择支:
A: 键盘、显示器 B: 存储器 C: 系统软件 D: 控制器
(2)用(B)编制的程序是边解释边执行。
选择支: A: C语言 B: BASIC语言 C: 汇编语言
D: 机器语言指令序列
(3)输入文字时有“插入”方式和“改写”方式,按(D)键可在这两种方式之间切换。选择支: A: Del键 B: 空格键
C: 只能使用鼠标 D: Ins
(4)下列设备中,属于输入设备的是(A)。选择支:
A: 鼠标器 B: 显示器 C: 打印机 D: 绘图仪
(5)数据总线用于各器件、设备之间传送数据信息,以下说法中(A)是错误 的。A、数据总线只能传输ASCII码
B、数据总线是双向总线
C、数据总线导线数与机器字长一致 D、数据总线通常是指外部总线
(6)存储1024个32×32点阵的汉字字形所需的存储容量是(D)KB。选择支: A: 125 B: 126 C: 127 D: 128
(7)有两个字符数组a、b,则以下正确的输入格式是 B__.A)gets(a,b);B)scanf(“%s%s”,a,b);
C)scanf(“%s%s”,&a,&b);D)gets(“a”), gets(“b”);
(8)若运行以下程序时,从键盘输入
3.6,2.4
#indude
# include
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”,y);}
A)1.5 B)1.6 C)2.0 D)2.4
(9)以下叙述中正确的是()A。
A)构成C程序的基本单位是函数
B)可以在一个函数中定义另一个函数 C)main()函数必须放在其它函数之前
D)所有被调用的函数一定要在调用之前进行定义
(10)执行下面程序后,输出结果是(A)。
main()
{ a=45,b=27,c=0;c=max(a,b);
printf(“%dn”,c);}
int max(x,y)int x,y;{ int z;
if(x>y)z=x;else z=y;return(z);}
A)45 B)27 C)18 D)72
(11)以下for循环的执行次数是:C
for(x=0,y=0;(y=123)&&(x<4);x++);
A)是无限循环 B)循环次数不定 C)执行4次D)执行3次
(12)语句while(!E)中的表达式!E等价于:A
A)E==0 B)E!=1 C)E!=0 D)E==1
(13)若x,i,j和k都是int型变量,则执行下面表达式后x的值为C
x=(i=4,j=16,k=32)
A)4 B)16 C)32 D)52
(14)下面四个选项中,均是不合法的用户标识符的选项是。C A)A B)float C)b-a D)一123 P_0 1a0 goto temp do 一A int INT(15)下列四组选项中,均不是C语言关键字的选项是A A)deFine B)getc C)include D)while IF char scanf go Type printf case pow
(16)下列运算符中优先级最低的是:A
A)?: B)&& c)+ D)!=
(17)下面程序的功能是把316表示为两个加
数的和,使两个加数分别能被13和11整除。请选择填空。B
#include
main()
{int i=0,j,k;
do{ i++;k=316-13*i;}
while(【1】);j=k/11;
printf(“ 316=13* %d+11*%d”,i,j);}
A)k/11 B)k%11 C)k/11==0 D)k%11== 0
(18)以下程序段的输出结果为(B)。
for(i=4;i>1;i--)for(j=1;j
(19)若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是(C)。A)p1=&m;p2=&p1 B)p1=&m;p2=&n;*p1=*p2;C)p1=&m;p2=p1;D)p1=&m;*p2=*p1;
(20)已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf(“%d,%d”,c1,c2-2);后,输出结果是C A)A,B B)A,68 C)65,66 D)65,68
(21)以下数据中,不正确的数值或字符常量是(A)。A)c B)66 C)0xaa D)50
(22)下面是对s的初始化,其中不正确的是_D_.A)char s[5」={“abc”} B)char s[5]={'a','b','c'};
C)char s[5]=“" D)char s[5]=”abcdef“;
(23)下面程序(每行程序前面的数字表示行号)A
main()
{
int a[3]={3*0};
int i;
for(i=0;i<3;i++)scanf(”%d“,&a[i]);
for(i=1;i<3;i++)a[0]=a[0]+a[i]
printf(”%dn“,a[0]);
A)没有错误 B)第3行有错误
C)第5行有错误 D)第7行没有错误
(24)sizeof(float)是(B)。
A)一个双精度型表达式 B)一个整型表达式 C)一种函数调用
D)一个不合法的表达式
(25)若有说明:int a[3][4];则数组a各元
素C
A)可在程序的运行阶段得到初值0
B)可在程序的编译阶段得到初值0
C)不能得到确定的初值
D)可在程序的编译或运行阶段得初值0
(26)下面程序的运行结果是:D
#indude
main()
{int y=10;
do{y--;}
while(--y);
printf(”%dn“,y--);}
A)一1 B)1 C)8 D)0
(27)如果int a=2,b=3,c=0,下列描述正确的是B
A)a>b!=c和a>(b!=c)的执行顺序是一样的 B)!a!=(b!=c)表达式的值为1 C)a||(b=c)执行后b的值为0 D)a&&b>c的结果为假
(28)以下运算符中,优先级最高的运算符是
(C)。A)|| B)% C)!D)==
(29)阅读以下程序,当输入数据的形式为25,13,10
main()
{int x,y,z
scanf(”%d%d%d“,&x,&y,&z);
printf(”x+y+z=%dn ,x+y+z)。
}
A)x +y+z=48 B)x +y+z=35
C)x +z=35 D)不确定值
(30)下面程序段:D 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个非负整数
(1)若定义了int *pointer[5],则表示定义了一个指向5个元素的一维数组的指针变量。错
(2)函数调用可以出现在执行语句中。对
(3)在定义函数中指定的形参变量,在未调用函数
时,并不占内存中的存储单元。对
(4)局部变量是静态存储变量。错
(5)C语言中,y=*p;其含义是将p的值赋给。对
(1)下面的程序中,函数fun的功能是:根据形参m,计算下面公式的值。
T=1+1/(1*2)+1/(2*3)+......+1/(m-1)*m
请改正程序中的错误,并运行改正后的程序。当从键盘输入70时,给出程序运行的正确结果(按四舍五入保留6位小数)。程序:
原程序:
#include
for(i=2;i<=m;i++)t+=1.0/(i*(i+1));return;}
main(){ int m;
printf(“n 输入整数: ”);scanf(“%d”, &m);
printf(“n 结果是: %lf n”,fun(m));} 结果=
(2)下面程序是求[50,300]之间的所有偶数的平方和。请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。程序:
原程序:
#include
long sum;int i;sum=0;
for(i=50;i<=300;i++){
if(fmod(i,2)!=0)sum+=i*i;} printf(“%ldn”,sum);}
结果=2
(1)编写程序,统计1000~9999之间的所有满足以下条件的四位数的个数。该数是一个完全平方数,且第1、2位数字之和为12,第3、4位数字之积为24。
第四篇:C语言1
1、编函数,把前100个素数放入数组int a[100]中。
参考答案: #include
if(prime(n)){
a[count]=n;
count++;
}
n++;} for(int i=0;i<100;i++)
printf(“%dt”,a[i]);} bool prime(int i){ int j;for(j=i/2;j>=2;j--){
if(i%j==0)
return false;} return true;}
2、编函数,把整数数组中值相同的元素删除得只剩一个;并把剩余元素全部串到前边。参考答案:
//返回数组中所剩的元素数 int DelSimEle(int arr[10]){ int i,j,k;for(i=0;i<=9;i++)
for(j=i+1;j<=9;j++)
{
if(arr[i]==arr[j])
arr[j]=0;
} int copyofarr[10];int t=0;for(k=0;k<=9;k++){
if(arr[k]!=0)
{
copyofarr[t]=arr[k];
t++;
} } } for(k=0;k<=9;k++)arr[k]=0;for(i=0;i 1.下列哪个是C语言合法的标识符()。 ① if② 1_ab ③ #ab④ CHAR 2.字符串常量“abctd376”的长度是()。 ① 7② 12 ③ 8④ 14 3.设m,n,a,b,c,d的值均为0,执行(m=a==b)||(n=c==d)后,m,n的值是① 0,0② 0,1 ③ 1,0④ 1,1 4.设有定义:int a=5,b;执行下列语句后,b的值不为2的是()。① b=a/2② b=6-(--a) ③ b=a%2④ b=a>3?2:4 5.若有定义:char ch=’A’;则下列表达式的值是()。 ch=(ch>=’A’&&ch<=’C’)?(ch+32):ch ① A② a③ Z④ z 6.下列运算7.以下关于运算符优先顺序的描述中正确的是()。 A.关系运算符<算术运算符<赋值运算符<逻辑与运算符 B.逻辑与运算符<关系运算符<算术运算符<赋值运算符 C.赋值运算符<逻辑与运算符<关系运算符<算术运算符 D.算术运算符<关系运算符<赋值运算符<逻辑与运算符 符中,优先级最高的是第五篇:C语言1