c语言期末模拟试题

2024-09-14

c语言期末模拟试题(精选10篇)

c语言期末模拟试题 篇1

6.以下程序的输出结果为(D)。main(){ char c;int i;for(i=65;i<68;i++){ c=i+32;switch(c){ case ‘a’:printf(“%c,”,c);break;case ‘b’:case ‘e’:printf(“ok,”);default: printf(“end”);} } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。#define A 3 #define B(a)(A+1)*a main(){ int x;x=3*A+B(7);printf(“x=%dn”,x);} A x=93 B x=37 C x=60 D x=90 三 写出下列程序的运行结果(10分,每小题2分)1.main(){ char c1=‘A’,c2=‘144’,c3=‘x44’,c=0xf5,x=13,a;int i=0122,j=0xa4;printf(“c1=%c,c4=%ctc5=%cn”,c1,c2,c3);printf(“%d,%dn”,i,j);i=-34;j=20;printf(“%d,%d,%dn”,i%j,i&j<<2,sizeof(j));printf(“c=%dn”,c|x);a=c^x<<2;

printf(“a=%dn”,a);} 2.main(){ int x,y=1,z=10;if(y!=0)x=5; printf(“x=%dt”,x);x=1;if(z<0)if(y>0)x=3;else x=5;printf(“x=%dn”,x);if(z=y<0)x=3;else if(y==0)x=5;else x=7;printf(“x=%dt”,x);printf(“z=%dn”,z);} 3.main(){ char s[20]=“I like it.”,t[20]=“Are you?”,c[20];int i=0;while(s[++i]!=‘’)t[i]=s[i];t[i]=0;printf(“string s:%sn”,s);printf(“string t:%sn”,t);} 4.int i=5;main(){ int i=3;{ int i=10;i++;printf(“%dn”,i);

} f1();i+=1;printf(“%dn”,i);} int f1(){ i=i+1;return(i);} 5.main(){ int i=10,a[]={10,20,30,15},*p1;char *b=”Learning”,**p2=&b;p1=&i;printf(“%4d”,*p1+20);for(p1=a;p1a[j]){ t=a[j];a[j]=a[j+1];a[j+1]=t;} printf(“The sorted numbers:n”);for(i=1;i<11;i++)printf(“%4d”,a[i]);printf(“n”);}

2.求100~200间的素数。

Prime(int a)main(){ int m,flag;for(m=101;m<=200;m+=2){ flag=prime(m);if(flag==1)printf(“%4d”,m);} } prime(int a){ int i,k,flag;k=sqrt(a);for(i=2;i<=k;i++)if(a%i==0)break;if(i==k+1)flag=1;else flag=0;}

期末综合测试题(C) 篇2

1. 若关于x的不等式-3x+n>0的解集是x<2,则关于x的不等式-3x+n<0的解集是

()

A. x<2B. x≤2C. x>2D. x≥2

2. 在一次课堂练习中,小敏同学做了如下4道分解因式题.你认为小敏做得不够完整的一道题是()

A. x3-x=x(x2-1)B. x2-2xy+y2=(x-y)2

C. x2y-xy2=xy(x-y) D. x2-y2=(x-y)(x+y)

3. 从A地到B地的路程为m km,某汽车匀速行驶从A地到B地需t h.若汽车速度每小时加快a km,则行驶时间可以缩短()

A.h B.hC.hD.h

4. 如图1,AB∥CD,AE∥FD,AE、FD分别交BC于G、H,则图中共有相似三角形()

A. 4对 B. 5对 C. 6对D. 7对

5. 某校测量了八(1)班学生的身高(精确到1 cm),按10 cm为一段进行分组,绘制出图2所示的频数分布直方图.下列说法正确的是()

A. 该班人数最多的身高段的学生有7人

B. 该班身高低于160.5 cm的学生有15人

C. 该班身高最高段的学生有20人

D. 该班身高最高段的学生有7人

6. 有一三角形纸片ABC,已知∠A=65°,∠B=75°.将纸片的一角折叠,如图3所示,使点C落在△ABC内.若∠1=20°,则∠2为()

A. 30°B. 60°C. 20° D. 65°

二、填空题(每小题3分,共30分)

7. 如果正整数x的与2的和不小于x的一半与的和,则x的值可为.

8. 观察下列各式:2×4=32-1,3×5=42-1,4×6=52-1,…,10×12=112-1.将你猜想到的规律用只有一个字母的式子表示出来.

9. 小王在超市用24元钱买了某种品牌的牛奶若干盒.过一段时间再去该超市,他发现这种牛奶进行让利销售,每盒让利0.4元.他同样用24元钱比上次多买了2盒.若设他第一次买了x盒,那么可列方程 .

10. 如图4,△ABC中,BP ∶ PC=3 ∶ 4,PE∥AB,PD∥AC,则S△ABC ∶ S▱ADPE=.

11. 如图5,在平面直角坐标系中,已知点A(-3,0),B(0,-4),C(0,1).过C作直线l交x轴于D,使得以D、C、O为顶点的三角形与以A、B、O为顶点的三角形相似,这样的直线一共可以作出条.

12. 一组数据4,7,18,29,1,0,5,2的极差是.

13. 某职业技术学校甲、乙两个班举行电脑汉字输入比赛,参加比赛的学生每分钟输入汉字的个数经统计后填入下表:

表1

某同学根据上表得出如下结论:①甲、乙两班学生成绩的平均水平相同;②乙班优秀(每分钟输入汉字不少于100个为优秀)的人数多于甲班优秀的人数;③甲班的成绩波动比乙班的成绩波动大.上述结论正确的是(只填序号).

14. 如图6,AB∥CD,AF分别交AB、CD于A、C,CE平分∠DCF,∠1=100°,则∠2=.

15. 如图7,AB∥CD,AF交CD于E,若∠CEF=40°,则∠A=.

16. 有位同学验证了几个值就认为n2+3n+1(n为正整数)一定是质数.其实当n= 时,n2+3n+1=就不是质数,因而他的判断是错误的.

三、解答题(17~19题每题8分,20~21题每题9分,22题10分,共52分)

17. 深受海内外关注的沪杭磁悬浮交通项目2006年3月获得国务院批准.沪杭磁悬浮交通线建成后,分为中心城区段与郊区段两部分.其中中心城区段的长度约为70 km,约占全程的40%.沪杭磁悬浮列车的票价预定为每千米0.65元~0.75元,请你估计沪杭磁悬浮列车全程预定票价的范围.

18. 根据图8中所给出的长度,用因式的乘积分别表示图形中阴影部分的面积.

19. 阅读材料:

关于x的方程x+=c+的解是x1=c,x2=;x-=c-(即x+=c+)的解是x1=c,x2=-;x+=c+的解是x1=c,x2=;x+=c+的解是x1=c,x2=……

(1)请观察上述方程与其解的特征,比较关于x的方程x+=c+(m≠0)与它们的关系,猜想它的解是什么.并利用“方程的解”的概念进行验证.

(2)由上述的观察、比较、猜想、验证,可以得出结论:如果方程的左边是未知数与其倒数的倍数的和,方程右边的形式与左边完全相同,只是把其中的未知数换成某个常数,那么这样的方程可以直接求解.

请用这个结论解关于x的方程:x+=a+.

20. 如图9所示,花丛中有一盏路灯AB.在灯光下,小明在D点处的影长DE=3 m.沿BD延长线方向行走到达G点,DG=5 m,这时小明的影长GH=5 m.如果小明的身高为1.7 m,求路灯AB的高度(精确到0.1 m).

21. 某市实验中学王老师随机抽取该校八(4)班男生的身高(单位:cm)数据,整理之后制得如图10所示的频数分布直方图(每组含最低身高,但不含最高身高).

根据这个统计图,解答下列问题:

(1)写出一条你从图中获得的信息;

(2)王老师准备从该班挑选出身高差不多的16名男生参加广播操比赛,他应选择身高在哪个范围内的男生,为什么?

22. 已知AB∥CD,直线MN交AB、CD于E、F,EG、FH分别是∠MEB和∠MFD的平分线.求证:EG∥FH.

证法1:如图11(1)所示, 因AB∥CD且MN交AB、CD于E、F, 故∠MEB=∠MFD.

又∵ EG、FH分别平分∠MEB和∠MFD,

∴ ∠1=∠2.所以EG∥FH(同位角相等,两直线平行).

证法2:如图11(2)所示,延长GE到K.因AB∥CD且MN交AB、CD于E、F, 故∠AEF=∠DFE.

又∵ EG、FH分别平分∠MEB和∠MFD, ∴ EK平分∠AEF.

∴ ∠1=∠2. 所以KG∥FH(内错角相等,两直线平行).即EG∥FH.

幼儿教育心理学期末试题C 篇3

一、单项选择题

1.幼儿的认知能力主要利用图片、声音、动作、影视等方式来促进,依据是

()。

A.幼儿的思维形象化具体化B.幼儿的抽象化具体化

C.幼儿的思维对象化概括化D.幼儿的思维不确定化、非理性化

2、.马斯洛认为,人具有七种基本需要,其中被称为缺失需要的有()。①生理需要 ②安全需要 ③归属和爱的需要 ④尊重的需要 ⑤认知需要

A.①③④⑤B.①②③④C.②③④⑤D.①②③⑤

3.主体对条件刺激做出的反应称为()。

A.条件反射B.定向反射C.习惯化D.去习惯

化774、下列哪种活动体现了幼儿的再造想象?()

A.有些孩子经常会生造一些词语B.在绘画时,有的幼儿把太阳画成绿色

C.有的幼儿在看图说话时,能说出许多图上没有但与主题相关的内容

D.幼儿把音阶想象成“走楼梯”,从而来理解音阶

5.标志着儿童思维真正发生的是()。

A.语词概括的出现B.真观概括的出现

C.动作概括的出现D.感知概括的出现

二、名词解释

1.个性:

2.发展:

3. 人本主义学习理论:

三、简答题

1.说说幼儿游戏的主要特点。

2.教师在组织指导开展角色游戏时应注意哪些事项?

3、影响幼儿学习动机的主要因素有哪些?

四、案例分析题

许多幼儿被问:“你觉得自己是好孩子吗”,“你觉得好孩子是什么样”,很多幼儿都回答说:“我不是好孩子”,“好孩子爱学习”,“我不爱读书,爱玩”。

C语言笔试题答案 篇4

A)数据库系统减少了数据冗余

B)数据库系统避免了一切冗余

C)数据库系统中数据的一致性是指数据类型的一致

D)数据库系统比文件系统能管理更多的数据

答案:A

评析:由数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值。

(2)关系表中的每一横行称为一个________。

A)元组 B)字段 C)属性 D)码

答案:A

评析:在关系数据库中,关系模型采用二维表来表示,简称“表”。二维表是由表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。

(3)数据库设计包括两个方面的设计内容,它们是________。

A)概念设计和逻辑设计 B)模式设计和内模式设计

C)内模式设计和物理设计 D)结构特性设计和行为特性设计

答案:A

评析:数据库设计可分为概念设计与逻辑设计。概念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。逻辑设计的主要工作是将ER图转换为指定的RDBMS中的关系模型。

(4)请读程序:

#include

main

{

int a;float b,c;

scanf(“%2d%3P%4f’,&a,&b,&C);

printf(”na=%d,b=%ec。%fn”,a,b,C);

}

若运行时从键盘上输入9876543210l,则上面程序的输出结果是________。

A)a=98,b=765,c=432 1

B)a=1 0,b=432,c=8765

C)a=98,b=765.000000,c=432 1.000000

D)a=98,b=765.0,c=432 1.0

答案:C

评析:scanf把用户从键盘录入的数字的第1、2位存入整型变量a;把第3、4、5位存入单精度实型变量b,把第6、7、8、9位存入单精度实型变量c,用户录入的第10位被scanf遗弃。这时变量a、b、c的值分别为:98、765.000000、4321.000000。

(5)一个良好的算法由下面的基本结构组成,但不包括__________。

A)顺序结构 B)选择结构 C)循环结构 D)跳转结构

答案:D

评析:1966年,Bohra和Jacopini提出了以下三种基本结构,用这三种基本结构作为表示一个良好算法的基本单元:1、顺序结构;2、选择结构;3、循环结构。

(6)请选出以下程序的输出结果________。

#include

sub(x,y,z)

int x,y,*z:

{*z=y-x;}

main{

int a,b,c;

sub(10,5,&a);sub(7,a,&b);sub(a,b,&C);

printf(”%d,%d,%dn”,a,b,C);

}

A)5,2,3 B)-5,-12,-7 C)-5,-12,-17 D)5,-2,-7

答案:B

评析:sub函数的作用是将形参y和x的差赋给了z指向的那个内存地址,所以在sub(10,5,&a/I,10和5属于值传递,a是属于地址传递,也就是a与z指向了同一个存储单元,在执行函数后,a的值随*z变化,所以此次函数被调用后,a的值为y-x=-5,同理可知,在sub(7,a,&b)后,b的值发生变化,其值为-5-7=-12,在sub(a,b,&C)后,c的值发生变化,其值为-12-(-5)=-7。

(7)下面程序在屏幕上的输出是________。

main

{

printf(”abbb c”);

}

A)abbb c B)a c C)abc D)ab c

答案:B

评析:c语言中允许使用一种特殊形式的字符常量,、就是以一个“”开头的字符序列,这样的字符称为“转义字符”。常用的转义字符有:n,换行;t,水平制表;b,退格;r,回车。

(8)若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是_______。

A)pb=&x; B)pb=x; C)*pb=&x; D)*pb=

答案:A

评析:选项A将变量x的地址赋给指针变量pb,使pb指向x‘选项B是将x的值当作地址赋给指针pb,Db指向一个地址等于x值的内存单元;选项c将x的地址赋给指针pb指向的地址等于x的内存单元。

(9)设整型数i=5,则printf(“%d”,i+++++i);的输出为________。

A)10 B)1l C)12 D)语法错误

答案:D

评析:c语言中有基本的算术运算符(+、-、*、/)还包括自增自减运算符(++、–),在c语言解析表达式时,它总是进行贪婪咀嚼,这样,该表达式就被解析为i++ ++ +i,显然该表达式不合c语言语法。

(10)若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元

int *p;

p=___________malloc(sizeof(im));

则应填入__________。

A)int B)int C)(*int) D)(int*)

答案:D

评析:不论p是指向什么类型的指针变量,都可以通过强制类型转换的方法使之类型一致,强制类型转换的格式为(数据类型+)。

(11)下面程序输出的结果是__________。

main

{

int i=5,J=9,x;

x=(I==j?i:(j=7));

printf(”n%d,%d”,I,J);

}

A)5,7 B)5,5 C)语法错误 D)7,5

答案:A

GE:C语言笔试题 篇5

5.关键字volatile的含义,在程序设计过程中的应用?

6.const int *p1;

int const *p2;

int *const p3;

7.int a = -1;

unsigned int b = 2;

那么a+b>a?为什么?a+b>b?为什么?

★ C语言游戏开发笔试题

★ C开发工程师笔试题

★ 笔试题

★ C语言学习心得

★ net笔试题

★ 卡夫笔试题

★ 笔试题文档窗口

★ DTT笔试题

★ 埃森哲相关笔试题

C语言开发工程师笔试题 篇6

如下程序能不能正确输出,如果不能,让他正确输出hello字符串。

void New(char 星符号 p) { p = new char[5]; } void main { char星符号 p = NULL; New(p); strcpy(p, ”hello“); printf(”%s“, p); }

2、排列算法

一个数组{3,4,5,6,3},请输出这个数组的全排列,比如34563、43563、33456...。

#include

#include

template

void Print(T星符号 tArray, int iSize)

{

for(int i = 0; i < iSize; ++i)

{

std::cout << tArray[i] << ;

}

std::cout << std::endl;

}

template

void Permutation(T星符号 tArray, int iSize)

{

int星符号 iIndex = new int[iSize + 1];

for(int i = 0; i < iSize; ++i)

{

iIndex [i] = iSize - i;

}

Print(tArray, iSize);

for(int i = iSize - 1; i >0; )

{

-- iIndex [i];

--i;

int j = iSize - 1;

do

{

if(tArray[j--] != tArray[i++])

{

std::swap(tArray[j--], tArray[i++]);

}

}while(j >i);

Print(tArray, iSize);

i = iSize - 1;

for(;iIndex [i] == 0; --i)

{

iIndex [i] = iSize - i;

}

}

delete iIndex;

}

int main

{

int a = {3,4,5,6,3};

Permutation(a,5);

C语言程序设计的试题及答案 篇7

} int huiwen(int n) { int a[6],i=0,j; while (n!=0) //从第一个开是放元素 {i++; a[i]=n%10; n=n/10; } for(j=1;j

方法二、#include int rev(int a);------------------------------------------------------------------------- 1 分 void main() { int x, y,i=0; for(x=1;x<1000;x++)-------------------------------------------------------------2 分 { y=rev(x); if(x==y) { printf(”%6d“,x);----------------------------------------------------------3 分 --2 分 } } int rev(int a) { int m, b=0;--------------------------------------------------------------------------1 分 while(a!=0) { m=a%10; b=b*10+m; a=a/10;--------------------------------------------------------------------------5 分 } return b;------------------------------------------------------------------------------1 分 i++; if(i%10==0) } printf(” “);----------------------------------------------------------

6. #include ”stdio.h“ int tgshu(int n);

void main() { int n; printf(”input n: “); scanf(”%d“,&n); if (tgshu(n)) printf(”%d 是同构数 “,n); else printf(”%d 不是同构数 “,n); } int tgshu(int n) { int d=1,nn,k=0,t; nn=n*n; t=n; while(t!=0) { d=d*10; t=t/10; if(nn%d==n) return 1;

} else return 0; }

7. #include ”stdio.h“ #define n 5 void out(int a[n][n] ); int he(int a[n][n]); void main() { int a[n][n],i,j,s; printf(”input 5*5 elements “); for(i=0;i

} int he(int a[n][n]) { int i,sum=0; for(i=0;i

8. #include ”stdio.h“ #define n 4 void out(int a[n][n] ); void inp(int a[n][n]); void main() { int a[n][n],i,j,k; printf(”input 5*5 elements “); inp(a); for(i=0;i

}

9. #include ”stdio.h“ int change(int x,int a[]) //返回值为二进制的位数 { int n=-1; while(x!=0) { n++; a[n]=x%2; x=x/2; } return n; } void main() { int x,a[20],i,n; printf(”input x “); scanf(”%d“,&x); n=change(x,a); for(i=n;i>=0;i--) printf(”%1d“,a[i]); printf(” “); } 10. #include ”stdio.h“ int ni(int x,int a[]) //返回值为数的位数 { int n=-1; while(x!=0) { n++; a[n]=x%10; x=x/10; } return n; } void main() { int x,a[20],i,n; printf(”input x “); scanf(”%d“,&x); n=ni(x,a); for(i=0;i<=n;i++) printf(”%1d“,a[i]); printf(” “); } 11. #include ”stdio.h“ int exp(int x,int n); void main() { int x,n; printf(”input x,n: “); scanf(”%d%d“,&x,&n); printf(”%d “,exp(x,n));

} int exp(int x,int n) { if (n==1)return x; return x*exp(x,n-1); }

12. #include ”stdio.h“ long int jch(int n) { if(n==1) return 1; else return n*jch(n-1); } void main() { int m,n,zuhe; printf(”input two integers m,n(m>n) “); scanf(”%d,%d“,&m,&n); if(m>=n) zuhe=jch(m)/(jch(n)*jch(m-n)); printf(”%d,%d 的组合为:%d“,m,n,zuhe); } 13. #include ”stdio.h“ void serach(int a[],int x) { int i; for (i=0;i<10;i++) if(a[i]==x) { printf(”Found “); return ; } printf(”Not found! “); } void main() { int i,a[10],x; printf(”input 10 integers “); for (i=0;i<10;i++) scanf(”%d“,&a[i]); printf(”input x “); scanf(”%d“,&x); serach(a,x); }

14. #include ”stdio.h“ #include ”string.h“ typedef struct { char no[10]; int score; }studtype; void search(studtype a[],char xno[]) { int i; for (i=0;i<20;i++) if(strcmp(a[i].no,xno)==0) { printf(”%d “,a[i].score); return ; } printf(”Not found! “); } void main() { studtype stu[20]; char xno[10]; int i; printf(”input 20 no,score “); for (i=0;i<20;i++) scanf(”%s%d“,stu[i].no,&stu[i].score); printf(”input xno “); scanf(”%s“,xno); search(stu,xno); } 15. 编程实现:从键盘任意输入某班 20 个学生的姓名和成绩,输出最高分及不及格学生的 人 数。要求分别用两个自定义函数求最高分和不及格人数。 #define N 20 #include typedef struct { char name[10]; int score; }datatype; int max(datatype stu[]); int num(datatype stu[]); void main() { datatype stu[N]; int i,max_score,n; /*姓名*/ /*成绩*/ /*最高分函数声明*/ /*不及格人数函数声明*/

printf(”请输入 %d 名职工姓名 成绩: “, N); for(i=0;istu[m].score)m=i; return stu[m].score; } int num(datatype stu[]) { int i,n=0; for(i=0;i

16. 编程实现:输入 2 个降序排列的整数数列,将这两个数列合并存放到另一个数组中,要 求 每个数都一次到位,不得在新数组中重新排序。要求数列合并通过自定义函数来实现。 #define M 4 #define N 5 #include void merge(int a[],int b[],int c[]); void main() { int i,a[M],b[N],c[M+N]; printf(”请输入 %d 个降序排列的整数: “, M); for(i=0;i

void merge(int a[],int b[],int c[]) { int i,j,k; i=0;j=0;k=0; while(ib[j]) c[k++]=a[i++]; else c[k++]=b[j++]; while(i

17. 编程实现:输入 N 名职工的姓名及计算机水平考试的成绩,输出及格人数和及格的职工 信 息。要求:职工信息的输入和输出分别通过自定义函数来实现。 #define N 10 #include //#include typedef struct { char name[10]; float score; }datatype; void input(datatype work[]); void print(datatype work[]); void main() { datatype work[N]; input(work); print(work); } void input(datatype work[]) /*input 函数定义*/ { int i; printf(”请输入 %d 名 学生的姓名 成绩: “, N); for(i=0;i

void print(datatype work[]) /*print 函数定义*/ { int i; for(i=0;i60)printf(”%10s “,work[i].name); }

18. 编程实现:从键盘输入 10 名学生的信息,包括学号、姓名、成绩,用一个排序函数 sort 完成学生成绩降序排列,并输出学生排序后的结果。 #define N 10 #include //#include typedef { char num[20]; char name[20]; float score; }stutype; void input(stutype stu[]); void sort(stutype stu[]); void print(stutype stu[]); int main() { stutype stu[N]; input(stu); sort(stu); print(stu); return 0; } void input(stutype stu[]) /*input 函数定义*/ { int i; printf(”请输入 %d 名学生信息(学号 姓名 成绩): “, N); for(i=0;i

k=i; for(j=i+1;j

printf(”****名次 学号 姓名 成绩**** “); for(i=0;i

19. //编程实现:任意输入一组不多于 20 个的升序排列的若干个整数,任意输入不多于 10 个 的整数(-1 作为输入结束标志) ,将其插入到该序列中,使其依然有序。要求:通过自定义 函数实现将一个整数插入到一个有序序列中,使其依然有序。 #include void ins(int a[],int*n,int x); void main() { int a[30],x,m,i; m=-1; printf(”输入一组不多于 20 个的升序排列的若干个整数,-1 作为输入结 束标志 “); scanf(”%d“,&x); while(x!=-1) { m++; a[m]=x; scanf(”%d“,&x); } printf(”输入一组不多于 10 个的升序排列的若干个整数, -1 作为输入结束标志 “); scanf(”%d“,&x); while(x!=-1) { ins(a,&m,x); scanf(”%d“,&x); } for(i=0;i<=m;i++)

printf(”%5d“,a[i]); } void ins(int a[],int*n,int x) { int i=*n; while(a[i]>x&&i>=0) { a[i+1]=a[i]; i--; } a[i+1]=x; (*n)++; }

20. 一个班级有 30 个学生,每个学生有学号、姓名及数学、语文、计算机成绩、平均成绩。 要求编程实现以下功能: 1) 从键盘上输入 30 个学生的信息,平均成绩通过公式:平均成绩=(数学+语文+计算 机 )/3 计算得出。 2)输出所有平均成绩大于等于 85 的学生姓名(要求用自定义函数实现该功能)。 #include ”stdio.h“ #define n 30 typedef struct { char no[11],name[9]; int math,chiness,comp; float ave; }studtype; void out(studtype a[]) { int i; for (i=0;i=85)printf(”%10s “,a[i].name); } void main() { studtype stu[n]; int i; printf(”input no,name,math,chiness,computer “); for (i=0;i

第七章 数组 一.填空 1. 数组是由固定数目的(

)的变量按一定顺序排列而构成的。 )个字节

2. 设有数组定义:char array[]=“China” ;则数组所占的存储空间为( 。 3. 一个二维字符数组 a[10][20]能够存储( )个字符串。

4. 假定在一维数组 b[10]中,元素 b[5]的指针为 p,则 p+4 所指向的元素为( 5. 一维数组的下标从( )开始。 )。

) 。

6. 设有数组 a[10];则首地址可以写成 (

7. 设有数组 int a[10], 数组元素 a[5]用指针表示的形式是( 8. 设有数组 int a[10][15], 数组元素 a[5][3]用指针表示的形式是( 9. 定义 3 行 4 列的整型二维数组 a 的语句是( ) 。 10. 定义 int b[ ]={5,6,7,8}, y, *p=b; 执行 y=*p++ 以后, y 的值为( 11. 按下面的语句定义数组 a 后,a [2][0] 的值为( int a[3][2]={2,4,6,8,10}; )。 )。 ) 。

) 。

12. 假设要把“student! ”存入一个字符数组,则该数组长度应该至少为( 。 13. 在 C 语言中,如果采用语句 int a[2][3] = {1,2,3,4,5} 完成一个二维数组的定义和初 始化,那么 a[0][1] 的值为( ) 。 14. 在 C 语言中,如果采用语句 int a[2][3] = {1,2,3,4,5} 完成一个二维数组的定义和初 始化,再定义 int *b = a[0],那么 *(b+2) 的值为 ( ). 15. 若 int a[ ][3]={1,2,3,4,5,6,7,8,9};则*(*a+1)的值是( 16. 按下面的语句定义数组 b 后,b[2][1]的值为( int b[][2]={2,1,4,3,5,6}。 ) 。 ) 。

)

17. 设 int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,则*p+4=( 18. 定义 2 行 3 列 5 层的整型三维维数组 a 的语句是( 19. 若有 int a[3]={10,12,30};则*(a+2)+3= ( 20. 若有 int a[3]={10,12,30};则 a+1 是(

) 。 ) 。 ) 。 )的地址。

21. 假设 int 型变量占两个字节的存储单元,若有定义:int x[10]={0,2,4}; 则数组 x 在内存 中所占字节数为 ( ) 。 22. 若有定义 int a[][3]={1,2,3,4,5,6,7};,则 a 数组第一维的大小是( ) 。 23. 数组 int a[3][3];共定义了( 24. C 语言中,二维数组的存放方式为按( )个数组元素。 )存放。 (填“行”或“列” )

25. 定义 int a[10]={11,12,13,14,15}, *p=&a[5]; 假设&a[0]和&a[1]的值分别是 0x 和 0 x,则 p 的值是( ) 。 26. 定义 int a[10]={11,12,13,14,15}, *p=&a[3]; 假设&a[0]和&a[1]的值分别是 0x2000 和 0 x2004,则表达式 a[0]+*p 的值是( ) 。 27. 对一维数组初始化时,若有 int ) 。 a[10]={0,1,2,3,4},则 a[5]的值是(

28. 已知:int a[][3]={1,3,5,7,9,11}; 此时数组元素 a[1][2]的值为( ) 。 29. 定义 char a[7]= ”abcdef“; char b[4]= ”ABC“,执行语句 strcpy(a,b);printf(”%s“,a), 输出结果是( ) 。 30. 定义 int a[10]={1,3,5,7,9,11,13,15,17,19},*p=a;执行语句 printf(”%d“,*p+7);输出 结果是( ) 。 31. 已知 int a[5] = { 2, 3, 4, 5, 6 }; int *p = a+2; 则表达式 *p*a[3] 的值是( ) 。 32. 定义 char a[7]= ”123456“; char b[4]= ”ABC“,执行语句 strcpy(a,b); printf(”%c“,a[ 6]),输出结果是( ) 。 33. 对整形数组 int a[5]={1,2,3}; 则执行语句 a[2]=a[2]+a[1]*(*(a+3)); a[2]的值为( )

34. 定义 char a[5]={65,66,67},*p=a; 则执行语句 printf(”%s“,p+1);输出结果为( )。 35. 对于定义 struct TData{ int a[2]; char c; }; struct TData slist*3+=,,,1,2-,’A’-,,,3,4-,’B’---; slist[1].a[0]的值为( )。

36. 已知:int a[][3]={1,3,5,7,9,11}; 则*(a[1]+1)的值为( ) 。 37. 已知:int a[2][3]={1,3,5,7,9,11,13},*p; p=&a[2]; p=p+3; 则*p 的值为( )。 38. 定义 char a[7]= ”123“; char b[4]= ”ABC“,执行语句 strcat(a,b); printf(”%s“,a),输 出结果是( ) 。 39. 对整形数组 int a[5]={3,3,3}; 则执行语句 a[2]=a[1]>0?(a[4]+1):(a[2]+2); a[2]的值 为( ); 40. 定义 int a[ ]={5,6,7,8}, *p=a; 执行 *(p++); 以后, a[0]的值为( )。 解答: 1. 同类型 2. 6 3. 10 4. b[9] 5. 0 6. a 7. *(a+5) 8. *(*(a+5)+3)

9. int a[3][4] 10. 5 11. 10 12. 9 13. 2 14. 3 15. 2 16. 6 17. 4 18. int a[2][3][5] 19. 33 20. a[1] 21. 20 22. 3 23. 9 24. 行 25. 0x 26. 25 27. 0 28. 11 29. ABC 30. 8

31. 20 32. 6 33. 3 34. BC 35. 4 36. 5 37. 11 38. 123ABC 39. 1 40. 5 二.阅读程序写结果 1. #include void main() { int a[2][3]={{3,2,7},{4,8,6}}; int i,j,m=0; for(i=1;i<=1;i++) for(j=0;j<=i;j++) m=m+a[i][j]; printf(”m=%d“,m); } 2. #include void main(void) { int array[10] = {1, 2, 4, 5, 6, 0, 0, 0, 0, 0}, i; printf(” “); for (i=0; i<10; i++) printf(”%3d “, array[i]); printf(” “); for (i=9; i>=2; i--) array[i] = array[i-1]; array[2] = 3; for (i=0; i<10; i++) printf(”%3d “, array[i]);

printf(” “); } 3. #include void main(void) { char a[]=”ABCDEFGH“,b[]=”abCDefGh“; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k<=7;k++) if (*(p1+k)==*(p2+k)) printf(”%c“,*(p1+k)); printf(” “); } 4. #include #include void main() { char a[30]=”Hello “; char b[10]=”Students“; char c[10]=”Teachers“; strcat(a,c); printf(”%s,%s. “,a,b); } 5. #include void inv(int x[],int n); void main() { int i, a[10]={3,7,9,11,0,6,7,5,4,2}; inv(a, 10); printf(”The array has been reverted. “); for(i=0;i<10;i++) printf(”%d,“,a[i]); printf(” “); } void inv(int x[], int n) { int t,i,j,m=(n-1)/2; for(i=0;i<=m;i++) { j=n-1-i; t=x[i]; x[i]=x[j];

x[j]=t; } } 6. #include void main() { float a[3][3]={1,2,3,4,5,6,7,8,9},sum=0; int i; printf(”please input rectangle element: “); for(i=0;i<3;i++) sum=sum+a[i][i]; printf(”duijiaoxian he is %6.2f“,sum); } 7. #include int main() { int i=1,n=3,j,k=3; int a[5]={1,4,5}; while(i<=n&&k>a[i]) i++; for(j=n-1;j>=i;j--) a[j+1] = a[j]; a[i] = k; for(i=0;i<=n;i++) printf(“%2d”,a*i+); return 0; } 8. #include void main() { int a[10]={0,1,2,3,4,5,6,7,8,9}, b[10],i,sum=0; { b[i]=a[i-1]+a[i]; sum=sum+b[i]; } for(i=1;i<10;i++) if(i%3==0) sum=sum+b[i]; printf(”sum=%3d“,sum); } 9. #include void main() { int a[5]={2,6,1,3,4},n=5,i,j,t; for(i=0,j=1;j

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

if(a[i] void funa(int x[],int n); void main() { int i, a[5]={3,7,9,11,0}; funa(a, 5); for(i=0;i<5;i++) printf(”%d,“,a[i]); printf(” “); } void funa(int x[], int n) { int t,i,j,m=(n-1)/2; for(i=0;i<=m;i++) { j=n-1-i; t=x[i]; x[i]=x[j]; x[j]=t; } } 11. #include void main() { int a[5]={24,15,33,64,45},n=5,i,j,t; for(i=0;i0;i--) printf(”%d,“,a[i-1]); } 12. #include void main() { int a[5],i,j,t; for(i=4;i>=0;i--)

scanf(”%d“,&a[i]); for(i=0;i<5;i++) a[i]=a[i]+10; for(i=0;i<5;i++) printf(”%d,“,a[i]); } 输入:42 31 24 15 16<回车>13. #include void main() { char a[][5]={”Zhong“,”Gong“, ”ren“}; printf(”%s %s “, a[0],a[1]); } 14. #include void main() { int a[3][3]={0,1,2,3,4,5,6,7,8},i,j,t; for(i=0;i<3;i++) for(j=0;j<3;j++) a[i][j]+=a[i][0]; for(i=0;i<3;i++) printf(”%d,“,a[i][i]); } 15. #include void main() { int a[3][3]={1,2,3,4,5,6,7,8,9},i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) a[i][j]+=a[i][2]; while(i>0) { i--; printf(”%d,“,a[i][i]); } } 16. #include void main() { int i,j; char a[10]={”ABCDEFGHIJ“};

for(i=0;i<10;i++) a[i]=a[i]+3; }

printf(”%c “, a[6]);

17. #include int main() { int i,a[10]={0,1,2,3,4,5,6,7}; for(i=1;i<9;i++) a[i]=a[i-1]+a[i+1]; printf(”%d%d “,a[5],a[8]); return 0; } 18. #include int main() { int i,a[]={1,2,3,4,5,6,7,8,9,10}; for(i=0;i<5;i++) a[i]=i+2; for(i=9;i>=0;i--) if(a[i]%3==0) printf(”%d “,a[i]); return 0; } 19. #include int main() { int num=13,len=0,i=0,a[30]; do { a[len]=num%2; }while(num); for(i=0;i int main() { int a[5]={6,9,12,16}; int x,i=3; scanf(”%d“,&x); while(i>=0 && x

计算机二级C语言考试试题及答案 篇8

1.(A)是构成C语言程序的基本单位。

A、函数

B、过程

C、子程序

D、子例程

2.C语言程序从(C)开始执行。

A、程序中第一条可执行语句

B、程序中第一个函数

C、程序中的main函数

D、包含文件中的第一个函数

3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main()函数中定义

C、C语言程序总是从main()函数开始执行

D、C语言程序中的main()函数必须放在程序的开始部分

4.下列关于C语言的说法错误的是(B)。

A、C程序的工作过程是编辑、编译、连接、运行

B、C语言不区分大小写。

C、C程序的三种基本结构是顺序、选择、循环

D、C程序从main函数开始执行

5.下列正确的标识符是(C)。

A、-a

1B、a[i]

C、a2_i

D、int t

5-8题为相同类型题

考点:标识符的命名规则

只能由字母、数字、下划线构成数字不能作为标识符的开头

关键字不能作为标识符

选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)

6.下列C语言用户标识符中合法的是(B)。

A、3ax

B、x

C、case

D、-e2 E)union

选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);

7.下列四组选项中,正确的C语言标识符是(C)。

A、%x

B、a+b

C、a12

3D、12

3选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)

8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print _3d db8 aBc

B、Iam one_half start$it 3pai

C、str_1 Cpp pow while

D、Pxq My->book line# His.age

选项B中的“”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)

9.C语言中的简单数据类型包括(D)。

A、整型、实型、逻辑型

B、整型、实型、逻辑型、字符型

C、整型、字符型、逻辑型

D、整型、实型、字符型

10.在C语言程序中,表达式5%2的结果是 C。

A、2.5B、2C、1D、3%为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;

/为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2=2

c语言期末模拟试题 篇9

1.人事代理有什么用处?我要不要花钱去办这个东西?

2.人事代理可以给做转正定级,这个转正定级有什么用处么?会影响到今后的什么?

3.如果我的档案继续放在人事局,会不会成为死档?

1.人事代理是指由政府人事部门所属的人才服务中心,按照国家有关人事政策法规要求,接受单位或个人委托,在其服务项目范围内,为多种所有制经济尤其是非公有制经济单位及各类人才提供人事档案管理、职称评定、社会养老保险金收缴、出国政审等全方位服务,是实现人员使用与人事关系管理分离的一项人事改革新举措。人事代理的方式有委托人事代理,可由单位委托,也可由个人委托;可多项委托,将人事关系、工资关系、人事档案、养老保险社会统筹等委托区人才服务中心管理,也可单项委托,将人事档案委托区人才服务中心管理。

如果你觉得这些对你不重要的话 可以不办。

2.“干部身份”就是所谓的“转正定级”手续。高校毕业生毕业后需持由当地毕业生就业主管部门或人社系统开具的报到证(派遣证)到接收单位工作,工作满一年并填写《大中专毕业生转正定级表》之后方可获得干部身份。报到证连同转正定级表一起,就成了“干部身份”的代名词。转正定级为干部是国企和事业单位的称呼。办理转正定级手续后就具备了国家干部身份,如果变动工作调入国有单位,转正定级将作为享受有关待遇的主要依据。转正定级在档案管理的意义上用处很大:不作转正定级,档案中就没有转正定级表,按档案不全处理。机关、事业单位和规范的大企业不收此档案,也就不能录用。大城市办理引进人才解决当地户口时也不收此档案,也就无法办理。一句话,反需要审查档案的,你都过不去。这有利于规范用人单位的人事管理,有利于办理对象的职业发展,同时也是确认办理对象的干部身份的必要手续。凡本科及以上(大专也算)学生毕业见习1年后需进行转正定级而成为干部。档案里面会装上转正定级表和干部登记表。转正定级是异地调动必备条件。

这个我觉得还是很重要的。

c语言期末模拟试题 篇10

课题:

教学目的: 教学重点: 教学难点: 第一章 C语言概述

1、了解C语言出现的背景

2、掌握C语言程序的构成、书写格式和上机步骤 C语言程序的构成 上机操作

步骤一 引入新课

从计算机应用基础中学过的计算机语言及语言处理系统引出C语言。步骤二 讲授新课

一、C语言出现的背景

1.ALGOL60 :1960年面向问题、结构化,可读性、可移植性好,不能对硬件操作; 2.CPL:63年接近硬件,规模较大、难以应用;

3.SIMULA:1966~1967 SIMULA 66是ALGOL 60的扩充;SIMULA 67引进了“对象”和“类”等概念而成为第一个面向对象的语言;

4.BCPL :67年由CPL改制,结构化、直接处理硬件;

5.B语言:1970年贝尔实验室的Ken Thompson以BCPL语言为基础设计的,开发了第一个UNIX操作系统;

6.C语言:1972-73年间,保持了BCPL和B语言的精炼与接近硬件的优点,克服了它们过于简单、数据无类型的缺点,重写了UNIX操作系统的90%;

7.标准 C:以1978年发表的UNIX第七版中的C编译程序为基础,Brain W.Kernighan&Dennis M.Ritchie合著的《The C Programming Language》问世; 8.ANSI C:1983年美国国家标准化协会(ANSI)制定的标准

9.C++:1986年 与C兼容,保持了C的所有优点并进行了增强:增强了面向对象的机制,成为典型的面向对象和面向过程的混合语言,适用于大型系统软件和应用软件的开发;

10.87 ANSI C:1987年制定的新标准;

11.ISO C:1990年ISO接受87 ANSI C为ISO C的标准,该标准是目前C编译器的标准。

二、C语言的特点

1.语言简洁、紧凑,使用方便、灵活; 2.运算符丰富

3.数据类型多(整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类等)4.具有结构化的控制语句 5.语法不太严格,自由度大

6.既是高级语言,又具有低级语言的功能 7.生成目标代码质量高,程序执行效率 8.可移植性好

三、C语言程序的构成

1.C语言是由函数构成的,至少有一个main()函数;

2.每个函数由函数首部和函数体组成;函数体由说明语句、执行语句组成; 3.每个C程序从main()函数开始执行,并在main()中结束; 4.每个语句和数据定义的最后必须加分号;

5.C程序无输入、输出语句

输入功能由scanf()函数完成;输出功能由printf()函数完成; 6.可加注释/*……*/

借助程序实例加以说明,并提倡良好的程序设计书写风格: 1)每个语句占一行;

2)同一层次的语句从同一位置处开始书写;

3)同一层次中嵌套的结构,应从不同位置开始书写;

4)编译控制行、外部数据定义、函数定义之间空一行书写; 5)对于函数体的大括号的书写约定 6)学会使用注释。

四、上机步骤

1.进入环境c:tctc 或进入ms-dos,>cd,>cd tc,>tc 2.编辑源程序 3.保存源程序 4.编译源程序F9 5.执行程序Ctrl-F9,查看结果Alt-F5 6.退出C环境Alt-X

步骤三 课堂小结

1、C语言的构成要素,main函数在程序中的作用

2、上机操作的过程

步骤四 布置作业 上机练习:

1、进入C编辑环境,按良好的程序设计风格输入例题,按步骤编译、运行、查看结果

上一篇:为什么学历低更容易成为成功人士下一篇:爱中的男人是诗人心情随笔