当前位置:文档之家› 中国石油大学2012年c语言考试试题

中国石油大学2012年c语言考试试题

中国石油大学2012年c语言考试试题
中国石油大学2012年c语言考试试题

1题:

用8位无符号二进制数能表示的最大十进制数为

C:255

2^7+2^6+2^5+2^4+2^3+2^2+2^1+2^0

=128+64+32+16+8+4+2+1

=255

2题:

3题:以下能正确定义数组并正确赋初值的语句是

A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};

C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};

4题:

设有定义 int a[ ]={1,5,7,9,11,13}, *p=a+3; 则*(p-2) , *(a+4) 的值是

A)5 11 B)1 9 C)5 9 D)有错误

5题:

已知char b[5],*p=b; ,则正确的赋值语句是

A)b=“abcd” ; B)*b=“abcd”; C) p=“abcd”; D)*p=“abcd”;

6题:

用数组名作为函数调用时的实参,则实际传递给形参的是

A)数组的第一个元素值B)数组中全部元素值

C)数组的首地址D)数组的元素个数

7题:

8题:

能将高级语言源程序转换成目标程序的是

A.调试程序

B.解释程序

C.编译程序

D.编辑程序

9题:

以下选项中可作为C语言合法整数的是

A)10110B B)0386 C)x2a2 D)0Xffa

10题:

对于int a=99, b='b'; printf(“%c,%d”, a , b);的结果是:

A、99, b

B、c, 98

C、99, 98

D、c, b

由于%c他的意思是当字符处理,%d是当整数处理,99的ASCⅡ码是c,那么第一个就应该是c,第二个是98,因为b的ASCⅡ码的值是98.

11题:

12题:

13题:

14题:

#include

void main()

{ int i=0,a=0;

while( i<20 )

{ for(;;)

if((i%10)= =0) break;

else i- -;

i+=11;

a+=i;

}

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

}

32

15题:

#include

void main()

{ int a[3][4]={{1,2,3,4},{9,7,10,6},{-1,8,-5,5}};

int i,j,row=0,colum=0,max;

max=a[0][0];

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

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

if(a[i][j]>max)

{ max=a[i][j];

row=i;

colum=j;

}

printf("max=%d,row=%d,colum=%d",max,row,colum);

}

max=10,row=1,colum=2

16题:

#include

int f(int b[], int m,int n)

{ int i,s=0;

for(i=m;i

return s;

}

void main()

{ int x, a[]={1,2,3,4,5,6,7,8,9,10};

x=f(a,3,8);

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

}

18

17题:

#include

int a=100,b=200;

void f( )

{ printf(“%d,%d\n”,a,b);

a=1;b=2;

}

void main()

{ int a=5,b=7 ;

f( );

printf(“%d,%d\n”, a,b) ;

}

5,7

18题:

#include

void swap(int b[])

{ int *p,*p1,*p2;

p1=&b[0] ;p2=&b[1];

p=p1;p1=p1+1;p2=p;

}

void main()

{ int a[]={5,9};

printf("%d,%d\n",*a,*(a+1));

swap(a);

printf("%d,%d\n",a[0],a[1]);}

5,9

19题:

20题:

#include

void main()

{ int a[10],*p,*s,i;

for(i=0;i<10;i++) scanf(%d”,a+i);

for(p=a,s=a;p-a<10;p++) if(*p>*s)s=p;

printf(“max=%d,index=%d\n”,*s, s-a);简述程序完成的功能查找数组中最大值并记录元素下标

21题:计算:sum=1-1/2!+1/3!-1/4!+ …… -1/10!

答案一

#include

int main()

{

int i,f;

double sum=0,t=1;

for(i=1,f=1;i<=10;i++,f=-f)

{

t/=i;

sum+=t*f;

}

printf("%.17f",sum);

return 0;

}

答案二:

#include

void main()

{ double sum=0.0,i,t=1;

int s=1;

for(i=1.0;i<=10.0;i++)

{

t*=i;

sum+=s/t;

s=-s;

}

printf("%f",sum);

22.编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,并输出统计结果。

#include

#include

void main() /*主函数*/

{

char c; /*定义变量*/

int m=0,n=0,a=0,b=0;

printf("请输入任意字符串.\n"); /*输入提示部分,提示输入*/

while((c=getchar())!='\n') /*循环语句,将由键盘输入的非'\n'字符赋值给c*/

{

if((c>=65&&c<=90)||(c>=97&&c<=122)) /*第一个选择语句,统计英文字符个数*/

{

m=m+1;

}

else if(c==32) /*第二个选择语句,统计空格字符的个数*/

{

n=n+1;

}

else if(c>=48&&c<=57) /*第三个选择语句,统计数字字符的个数*/

{

a=a+1;

}

else /*统计其他字符的个数*/

b=b+1;

}

printf("%d%d%d%d",m,a,n,b); /*输出最后统计结果*/

getch(); /*输出结果后屏幕停留*/

}

23. 编程打印下列的杨辉三角形。(设8行)

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

#include

#define N 11

void main()

{

int i,j,a[N][N]; /*数组为11行11列,0行0列不用*/

for(i=1;i

{

a[i][1]=1; /*使第1列元素的值为1*/

a[i][i]=1; /*使对角线元素的值为1*/

}

for(i=3;i

for(j=2;j<=i-1;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j];

for(i=1;i

{for(j=1;j<=i;j++)

printf(“%6d”,a[i][j]);

printf(“\n”);

}

printf(“\n”);

}

满分答案请自己付出努力下周公布在百度文库中

大学C语言考试试题及答案

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串

选项B,C,分别用{}和’’标识字符串 选项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.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

中国石油大学(北京)C语言习题册模拟1答案

模拟一 一、选择题(每题2分,共20分) 1、D 2、D 3、A 4、C 5、D 6、A 7、A 8、A 9、C 10、B 二、读程序写结果(每题3分,共21分) 1、9,11,9,10 2、>=60<60error 3、9,3 4、45 5、*+++* +*+*+ ++*++ +*+*+ *+++* 6、7,14 7、hina ina na 三、程序填空(每空2分,共20分) 1、(1) N/2 (2) a[N-1-k] (3) knext=p; p->next=p2; 五、编程题(第1题9分,第2、3题各10分,共29分)

1、定义1分,输出3分,处理5分 main() { int i,i1,i2,i3; for(i=100;i<1000;i++) { i1=i/100; i2=i/10%10; i3=i%10; if(i==i1*i1*i1+i2*i2*i2+i3*i3*i3) printf("%5d",i); } } 2、定义1分,输入2分,输出3分,处理4分 main() { int a[5][6],b[5]={0},i,j; for(i=0;i<5;i++) for(j=0;j<6;j++) scanf("%d",&a[i][j]); for(i=0;i<5;i++) for(j=0;j<6;j++) b[i]=b[i]+a[i][j]; for(i=0;i<5;i++) { for(j=0;j<6;j++) printf("%5d",a[i][j]); printf("%10d\n",b[i]); } } 3、输入1分,输出1分,两个函数各3分,函数调用2分int prime(int m) { int i; for(i=2;ia[j]) { t=a[i]; a[i]=a[j]; a[j]=t;}

中国石油大学简介

中国石油大学简介:中国石油大学(英语:China University of Petroleum)是教育部直属的全国重点大学,是国家“211工程”重点建设高校。是一所以工为主,多学科协调发展的教学研究型大学,是中国最早建立的也是最大的一所石油高等学府。目前已发展成一所“以工为主、工管理文相结合”的全国重点大学。中国石油大学(华东)现有东营、青岛两个校区。校园总面积300公顷,建筑面积110余万平方米。学校于1953年建校,时称北京石油学院,1969年迁校山东,改称华东石油学院。1988年,学校更名为石油大学,逐步形成山东、北京两地办学的格局。2005年1月,学校更名为中国石油大学。 2008年,中国石油大学(华东)正式确定校训为:惟真惟实。字体为刘炳森手书集成。 惟真,是指尊重客观规律,真理至上的意思。它既是一种追求真理的执著信念,又是一种不唯书、不唯上,探求事物规律的科学态度和精神。 惟实,是指求实、求是之意。做事要一切从实际出发,坚持务实、扎实、踏实的作风,做人必须具备诚实、朴实、正直、耿直的良好品质。 “惟真惟实”是中国石油大学的办学理念和追求的集中体现。近六十年来,中国石油大学的数任校领导曾在不同场合,先后提出过学校的发展目标和培养模式,其基本内涵和精髓都与“惟真惟实”是一致的。“惟真惟实”所蕴含的追求真理,全面发展的理念和精神,正是中国石油大学所一直坚持和追求的理想和目标。 “惟真惟实”既是实事求是、艰苦奋斗的学校精神的浓缩升华,也是与石油工业光荣传统一脉相承的集体体现。它内蕴着自强不息、与时俱进、追求真理的精神,体现着独有的时代气息。这一精神植根于中国石油大学的深厚文化底蕴中,便形成了以它为核心的,囊括人文精神、科学精神、文化传统的石大精神。 “惟真惟实”既体现出一种追求真理的科学精神,又体现了中国石油大学“以德育人”的人本观念,融科学精神与人文精神于一体,既有习承传统之本意,又兼具开拓进取之精神。石油大学 “211工程”(211 project ) 是中国政府为了迎接世界新技术革命的挑战,面向21世纪,要集中中央和地方的各方面力量,分期分批地重点建设100所左右的高等学校和一批重点学科、专业,到2000年左右在教育质量、科学研究、管理水平及办学效益等方面有较大提高,在教育改革方面有明显进展,力争在21世纪初有一批高等学校和学科、专业接近或达到世界一流大学的水平的建设工程。“211工程”是建国以来国家正式立项在高等教育领域进行的规模最大的重点建设工程,是国家“九五”期间提出的高等教育发展工程,也是高等教育事业的系统改革工程。 “985工程”是我国政府为建设若干所世界一流大学和一批国际知名的高水平研究型大学而实施的高等教育建设工程。名称源自1998年5月4日,江泽民在北京大学百年校庆上建设世界一流大学的讲话。最初入选985工程的高校有九所,被称九校联盟,截至2011年年末,985工程共有39所高校。此后,教育部表示“985”工程和“211”工程的规模已经稳定,将不会再新增高校,于是引入动态竞争机制,在非985工程高校且是部属211高校实施“985工程优势学科创新平台”。

C语言考试试题

试题 课程名称C语言程序设计适用时间 试卷类别 A 适用专业、年级、班 一、选择题(每小题2分, 2×25=50分) 1.下列叙述错误的是( )。 A) C程序中的每条语句都用一个分号作为结束符B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 2.以下叙述不正确的是( )。 A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面 3.C语言中最简单的数据类型包括( )。 A)整型、实型、逻辑型B)整型、实型、字符型 C)整型、字符型、逻辑型D)字符型、实型、逻辑型 4.C语言中运算对象必须是整型的运算符是( )。 A)%= B)/ C)= D)<= 5.若变量a,i已正确定义,且i已正确赋值,合法的语句是( )。 A)a= =1 B)++i;C)a=a++=5;D)a=int(i); 6.下列运算符中优先级最高的是( )。 A) < B) + C) && D) ! = 7.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型是( )。 A) int B) float C) double D) char 8.设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是( )。 A)把x和y按从大到小排列B)把x和y按从小到大排列C)无确定结果D)交换x和y中的值 9.设整型变量a,b的值均为8, printf("%d,%d",(a++,++b),b--);的输出是( )。 A)8,8 B)8,7 C)9,9 D)8,9 10.若有语句scanf("%d%d",&a,&b);要使变量a,b分别得到10和20,正确的输入形式为( )。 A)10 20 B)10,20 C)1020 D)10:20 11.判断char型变量ch是否为大写字母的正确表达式是( )。 A)'A'<=CH<='Z' B) (CH>='A')& (CH<='Z') C)(CH>='A')&& (CH<='Z') D) ('A'<=ch)AND('Z'>=ch) 12.有如下程序 main( ) { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d\n",a,b);} 该程序的输出结果是( )。 A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 13.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下: main( ) { int n,k; float score,sum,ave; sum=0.0; for(n=1;n<=10;n++) { for(k=1;k<=4;k++) { scanf("%f",&score); sum+=score; } ave=sum/4.0; printf("NO%d:%f\n",n,ave); } } 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。 A) sum=0.0; B) sum+=score; C) ave=sun/4.0; D) printf("NO%d:%f\n",n,ave);

中国石油大学(华东)-C语言学习心得

C语言学习心得 开课之前信息的收集:在高中的时候就听过程序员这个职业,当时也只知道这些人是写程序的,然而程序是什么具体我也不知道。终于上大学了,我看到自己的课表上有C程序设计,感到很兴奋,自己终于要开始学程序。于是我问大二的学长学姐C语言学习经验,他们只对我说,有点难学(可能是他们没认真学的原因)要好好学,在老乡会上刚刚找到工作的大四学长对我讲述他求职百度的时候的经历,百度面试官问他说你会什么编程语言,他说会C,C#,java。面试官接着问你最擅长哪个,他说C语言,紧着接面试官问了一系列关于C语言的问题,一个比一个深入,他答不出来,最后的结果就是直接被拒绝。临走的时候百度面试官对他说,只要你能掌握一门编程语言就能要你。学长告诫我,信管会学很多课但都是只知道一点,因此要学既然要学一门编程就要把它学精,哪怕其它的编程语言不擅长也没关系,我现在就后悔当时没好好学。知道这些情况后我决心学好C语言。 开课后学习的经历:第一节课上,老师说由于课程的安排,前四章的知识会讲的很快,对编程有用的就说,还有些理论课下自己看看,介绍了C语言的发展和编程格式输入和输出。紧接着的上机课我写了人生的第一个程序,觉得很有意思,从此就喜欢上了编程,喜欢这种逻辑的推理与设计,课前我会将书上的知识点掌握,然后上课认真听老师讲课,看看自己有没有漏掉什么知识点,书上没说的和老师给的程序要记下来,回来后自己来体验下这个程序。就这样到了期中考试,结果并不好,让我认识到自己不能只停留在programe上,要多做acm上的题目,并且课下要多读别人的代码来学习方法,就这样白天在图书馆里看书,晚上回来编程,两个月后发现有了很大进步,也发现C语言更有趣了。我也很积极报了来年三月份的计算机二级等级考试,虽然只学了一半,但是我想通过自己的学习和请教老师,拿到那个证书应该不是问题,就这样我开始了自学后半部分,发现真的很晕,果然后面不简单。但是我想到每件事开始的时候都是困难的,就这样我坚持了下来,在老师的帮助下我也成功的过了,并且还是优秀,而且由于自己事先学过了,所以下学期的学习并没有特别困难。 通过学习Funcode让我真正的看到了C语言的应用,课上学的只是C语言的理论,而最重要的是应用。经过实验每个函数的功能,掌握每种函数的接口,再根据自己的设计将这些函数通过一定的组合和排列,制作出一个属于自己的动画,这种感觉真的很棒。我都迫不及待地想给我爱看动画的小表弟展示我制作的动画和体验我设计的游戏,虽然这些动画和游戏还比较低级,但我想他看到后一定会很开心。 一年的学习经历不仅让我C语言入门,更教会了我许多许多。教会了我如何自主学习;教会了我只要你肯努力,就能学有所成;教会了我坚持自己所喜欢的,并为之汗水,结果也一定让人满意。感谢老师一年来一直以来对我的指导和教诲,课下牺牲自己休息的时间来为我解答问题,为我提前开放作业题。 结课之后的打算:希望能通过自己的努力进入学校的ACM团队,继续深入的学习C语言,毕竟自己也才入门而已,离精通还很远。同时大二的时候去蹭课学习算法和数据结构来进一步提升自己的编程能力。

C语言考试试卷及答案

2011-2012学年第一学期 C语言程序设计A 课程A卷考试题 共 4 页此第 1 页成绩 一、单项选择题(每小题2分,共40分) 1. C语言中合法的字符常量是() A.n B.’\n’ C.110 D.”n” 2. 有以下程序: main( ) { char ch=’A’; printf(“ch(1)=%d,ch(2)=%c\n”,ch,ch+1); } 程序运行后的输出结果是() A. ch(1)=65,ch(2)=A B. ch(1)=97,ch(2)=A C. ch(1)=65,ch(2)=B D. ch(1)=97,ch(2)=B 3. 能表示a不能被2整除且a、b不相等,但a、b的和等于0的C语言逻辑表达式是() A. a==-b&&a%2==0 B. a!=b&&a+b==0&&a%2 C. !(a%2)&&a==-b D.a%2==0&&a+b==0 4. 以下程序段中语句” printf("i=%d,j=%d\n",i,j);”的执行次数是() int i, j; for(i=3;i ;i--) for(j=1;j<5;j++) printf("i=%d,j=%d\n",i,j); A. 12 B. 20 C. 15 D. 24 5. 执行以下程序段后,x[2]的值是() int x[10]={1,2,3,4,5,6,7,8,9,10},i,j,t; i=0;j=9; while(i

C语言_中国石油大学(华东)c语言上机题

Hello world. 让我们用C语言向世界问好。 最早的程序基本是这个样子的: 程序一: #include <> void main() { printf("Hello world.\n"); } 程序二: #include <> int main() { printf("Hello world.\n"); return 0; } 上面的程序你任意模仿一个,看看是否可以通过?如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。 输入:无 输出:Hello world. #include<> int main() { printf("Hello world.\n"); } Welcome to Beijing. 让我们来练习如何显示多行文字。 输入:无 输出:就是下面的那段文字。 #include<> void main() {printf("Welcome\n"); printf("to\n"); printf("Beijing.\n"); } 练习最简单的printf和scanf printf函数和scanf函数是C语言中最常用的函数之一,下面让我们练习一下吧。 输入:整型变量x的值。 输出:输出整型变量x对应的十进制、八进制和十六进制形式。 认真观察-1的八进制和十六进制输出,请想想是为什么。 #include <> int main() {int x; scanf("%d",&x); printf("x=%d,",x); printf("x=%o,",x); printf("x=%x\n",x); return 0; } 练习两个整数之间的运算 背景:基本练习。 输入:接受两个整数,每个整数之间使用空格分隔。例如输入格式为:123 444 输出:分别输出进行+、-、*、/、*之后的运行结果。#include<> int main() {int x,y; scanf("%d%d",&x,&y); printf("%d+%d=%d\n",x,y,x+y); printf("%d-%d=%d\n",x,y,x-y); printf("%d*%d=%d\n",x,y,x*y); printf("%d/%d=%d\n",x,y,x/y); printf("%d%%%d=%d\n",x,y,x%y); return 0; } 学习打印你的第一个图形 背景:我们已经学习了printf函数,这里给出了一个小程序,它运行的结果是输出一个由星号(*)组成的4*4的正方形。 程序如下: #include <> int main() { printf("****\n"); printf("****\n"); printf("****\n"); printf("****\n"); return 0; } 要求:按照上面的程序范例,编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。 输入:无。 输出:指定图形。 #include <> int main() { printf(" *\n"); printf(" ***\n"); printf(" *****\n"); printf("*******\n"); return 0; } 整型数的表示范围 编写一个循环程序,输入N 值,输出N 的阶乘。关于循环程序怎么编写,可以参考教材第3章P66页的例题和第5章P82的例题的内容。注意整型数的表示范围,如果当输入的N 比较大时,例如N 等于20 时,输出怎么是负数了?自己想明白吧!#include<> void main() {int N,i; int sum=1;

c语言期中考试试题及答案

中国民航大学2009-2010学年第二学期 《C 语言程序设计》期中考试试卷 课程编号:03402513 试卷类型: A 卷 考试形式:笔试 考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C 语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C 程序的执行是(【2】) 。 【2】 A) 从本程序的主函数开始,到本程序的主函数结束

B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的

C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关 8、下列四组(八进制或十六进制)常数中,正确的一组是(【8】)。【8】 A) 016 0xbf 18 B) 0abc 017 0xa C) 010 -0x11 0x16 D) 0A12 7FF -123 9、下列四组转义字符中,合法的一组是(【9】)。 【9】 A)‘\t’‘\\’‘\n’ B)‘\’‘\017’‘\x’

C语言考试试题

1.若x为int型变量,则执行以下语句后,x的值为-60。 x=6; x+=x-=x*x; x=x-x*x=-30 x=x+x=-60 2.若有定义int a[2][3]; 则对a数组的第i行第j列元素地址的正确引用为a[i]+j。 3.若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是*p=*&j。 4.以下叙述正确的是define和if都不能定义为用户标识符。 5. 以下程序的输出结果是2。 #define SQR(X) X*X main() { int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); a/=k+k*m+m/k+k*m+m printf("%d\n",a); } 6. 以下程序的输出结果是4。 main() {int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) for(j=i;j<=i;j++) t=t+b[i][j]; { t=t+b[i][j];} printf("%d\n",t); printf("%d\n",t); }_ 7. 编一个程序,打入星期号,输出该星期的英文名字。例如,输入"1"则输出"Monday",说明:星期日编号为0,要求用指针数组处理。 main() { char *name[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday", "Saturday"}; int n; printf("\nInput the number(0-6):"); scanf("%d", &n); if ((n< 7) && (n>=0)) printf("\nThe name is: %s",name[n]); else printf("\nInput error"); } 8. 局部变量是静态存储变量。错误 9. "文件包含"处理是指一个源文件可以将另一个源文件的内容全部包含进来。正确 10. 若有定义:int *p1,*p2;则p1+p2无实际意义。正确 11. 若在函数内定义形参数组a:int a[3][4];则数组a中各元素可在程序的编译阶段得到初值0。错误 12. 以下不能正确定义二维数组的选项是int a[2][]={{1,2},{3,4}};。 13. 以下程序的输出结果是6 15 15。 int d=1; fun(int p) { static int d=5; d+=p; printf("%d ",d); return(d); } main( ) { int a=3; printf("%d \n", fun(a+fun(d))); }

中国石油大学《C语言程序设计》期末复习题及答案

《C语言程序设计》期末复习题 一、选择题 1.能将高级语言编写的源程序转换成目标程序的是() A.链接程序 B. 解释程序 C. 编译程序 D.编辑程序 2.设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是()。 A. 1010&&a<15 D.!(a<=10)&&!(a>=15) 3.当调用函数时,实参是一个数组名,则向函数传送的是( )。 A. 数组的长度 B. 数组的首地址 C. 数组每一个元素的地址 D. 数组每个元素中的值 4.执行下面的程序段后,k的值是() int k=1,n=325; do { k*=n%10;n/=10;}while(n); A. 3 B. 30 C. 523 D. 325 5.若有以下数组说明,则i=6;a[a[i]]元素数值是()。 int a[12]={1,4,7,10,2,5,8,11,3,6,9,12}; A.3 B.8 C.6 D.5 6.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是() A. for(i=1,p=1;i<=5;i++) p*=i; B. for(i=1;i<=5;i++){ p=1; p*=i;} C. i=1;p=1;while(i<=5){p*=i; i++;} D. i=1;p=1;do{p*=i; i++; }while(i<=5); 7.若有:int a[][3]={{1,2,3},{4,5},{6,7},{8}}; 则数组a的第一维的大小为: ( ) A. 12 B. 3 C. 4 D.无确定值 8.设有如下程序段,则执行p=s;语句后,以下叙述正确的是( )。 char s[20]= “Bejing”,*p; p=s; A.可以用*p表示s[0] B.s数组中元素的个数和p所指字符串长度相等 C.s和p都是指针变量

C语言考试试题基础版

一、选择题 1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2. 在以下关于C 语言的注释的叙述中,不正确的是 。 A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示 B .编译器在编译一个程序时,将跳过注释,不对其进行处理 C .编译器在编译一个程序时,可发现注释中的单词拼写错误 D .程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A .在C 程序中,严格区分大小写字母 B .一个 C 源程序有且仅有一个main 函数 C .在C 程序中,注释只能位于一条语句的后面 D .一个C 程序总是从main 函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. DK3_ 5. 关于字符串和字符的关系正确的是 A. “A ”与?A ?是相同的 B. 字符串是常量,字符是变量 C. “A ”与?A ?是不同的 D. “A ”与“A ”是相同的 6. 下面关于语句的说法正确的是 A. 下面这两段程序的执行效果是一致的 B. 空语句是只有一个分号的语句,它其实什么也不干 C. 语句的构成不一定需要分号 D. 语句的书写对程序的运行不起作用,因此可以随便写都可以 7. 以下各标识符中,合法的用户标识符组为 。 A. PAd ,P#d ,b-b ,abc ,_0123,ssiped B. cin ,a10,CPP ,float ,del_word ,signed C. void ,max ,hiy ,,list ,*jer if (x>y) {z=x; s=z*z;} else {z=y;s=1/(z*z);} if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);

中国石油大学华东2013-2014第一学期c语言期末考试答案

《计算机程序设计C(2-1)》期末考试试卷 专业班级 姓名 学号 开课系室计算机应用技术系 考试日期 2014年 1月10日

一、程序阅读题(每空2分,共20分) 1.若想通过以下输入语句给a赋值1,给b赋值2,则输入数据的形式应该是【1】。 scanf("%d,%d",&a,&b); 2.如果a和b的值分别为20和10,下列语句printf("%d+%d=%d",a,b,a+b);输出到屏幕上的结果是【2】。 3.下面程序的输出结果为【3】。 #include int main() { int x = 10,y = 3; printf("%d\n",x/y); return 0; } 4.设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【4】。 for(i = 0,j = 10; i <= j; i ++,j --) k =i + j; 5. 水仙花数是指一个三位数的各位数字的立方和是这个数本身,请阅读下面程序并完成填空。 #include int fun(int n) { int i,j,k,m; m = n; 【5】; while(m) { 【6】; m = m / 10; k = k + j * j * j; } if(k == n) 【7】; else return 0; } int main() { int i; for(i = 100; i < 1000; i ++) { 1

if( 【8】== 1) { printf("%d is ok!\n" ,i); } } return 0; } 6. 程序功能是:从键盘输入一行字符,将其中的所有数字字符转换为按先后顺序排列的一个整数。例如,输入的一行字符为“a2b0D04”,输入结果为整数2004,请补充完整程序。 #include int main() { int n = 0; char ch; ch = getchar(); while(ch != '\n') { if( 【9】) { n = n * 10 + ch - '0'; } ch = getchar(); } printf("value = %d\n",n); return 0; } 7.有以下程序 #include int sub(int n) { return (n / 10 + n % 10); } int main() { int x,y; scanf("%d",&x); y = sub(sub(sub(x))); printf("%d\n",y); return 0; } 若运行时输入:1234<回车>,程序的输出结果是【10】。

C语言考试题及答案

一、单项选择题:(10分,每题2分) 1.char *p[10];该语句声明了一个: c 。 A)指向含有10个元素的一维字符型数组的指针变量p B)指向长度不超过10的字符串的指针变量p C)有10个元素的指针数组p,每个元素可以指向一个字符串 D) 有10个元素的指针数组p,每个元素存放一个字符串 2.若int x;且有下面的程序片断,则输出结果为: D 。 for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "**%d\n", x); } A) ##3B) **3C) **3D)##3**4 **4 ##4 ##4**5 ##5 ##5 **5 3.在while(!x)语句中的!x与下面条件表达式等价的是:D 。 A) x!=0 B) x==1 C) x!=1 D) x==0 4.已知 struct point { int x; int y; }; struct rect { struct point pt1; struct point pt2; }; struct rect rt; struct rect *rp = &rt; 则下面哪一种引用是不正确的__D______。 A) r t.pt1.x B) (*rp).pt1.x C) r p->pt1.x D) rt->pt1.x 5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为: C 。 A) *(a+j*n+i) B) *(a+i*n+j) C) *(*(a+i)+j) D) *(*a+i)+j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1. #include main()

中国石油大学(华东)C语言在线测评答案 第8章数组(2013级亲测正确)

8.7 求最大值 问题描述要求从键盘输入10个整型数据,找出其中的最大值并显示出来。 输入范例 3 0 54 -710 27 32767 10 1 500 2 输出范例 32767 提示先假定第一个元素时最大值,然后和其他的元素一个一个的进行比较,直到找到最大值。 #include int main() { int a[10],max,i; for(i=0;i<10;i++) scanf("%d",&a[i]); max=a[0]; for(i=0;i<10;i++) if(a[i]>max) max=a[i]; printf("%d\n",max); return 0; } 8.6 数组逆序输出 问题描述 从键盘上输入一个数组(10个元素),将原数组逆序重新排列后输出。要求输出每个元素时以一个空格隔开。 提示:用第一个与最后一个交换。 #include int main() { int a[10],i; for(i=0;i<10;i++) scanf("%d",&a[i]);

for(i=9;i>=0;i--) printf("%d ",a[i]); printf("\n"); return 0; } 8.1 谁能出线 背景:电视台举办“超级学生”才艺大赛,由于报名人数狂多,所以要先进行分组预赛。按规定,每10名学生为一个预赛小组,评委打出分数(0~100分),各小组第一名可以进 入下一轮;如果有多名学生得分相同都是第一名,则可同时进入下一轮。 输入:按顺序给出一个小组10个人的最后得分(int)。 输出:能够出线的学生序号(0~9)。 #include int main() { int a[10],i,max; for(i=0;i<10;i++) scanf("%d",&a[i]); max=a[0]; for(i=0;i<10;i++) if(a[i]>max) max=a[i]; for(i=0;i<10;i++) if(a[i]==max) printf("%d\n",i); return 0;

中国石油大学(华东)C语言习题答案

C语言复习题 【设计型】5.1 输出一行星号 编写程序在一行中输出 N 个星号。 输入: N值 输出:一行中N个星号 #include int main() { int a,i; scanf("%d",&a); for(i=1;i<=a;i++) printf("*"); printf("\n"); return 0; } 【设计型】5.2 打印平行四边形输入图形的高 n ,输出如下例( n=5 )所示的图形 . ***** ***** ***** ***** ***** 输入:

整数n例如 5 输出: 由*组成的高为5的平行四边形 #include int main() { int i,j,num; scanf("%d",&num); for(i=0;i int main() { double n,i,sum,k=1.0; scanf("%lf",&n);

i=1,sum=0; while(i<=n) { sum=sum+k/i; i++; k=-k;(用这个式子实现正负交替) } printf("sum=%.4lf\n",sum); return 0; } 【设计型】5.4 分数序列 有一个分数序列:...............,输入整数n,求出其前n项的和。 输出语句格式为:printf("sum=%16.10f\n",s); #include int main() { int n,a,b,i,temp; double sum; scanf("%d",&n); i=1,sum=0,a=2,b=1; while(i<=n)

中国石油大学C语言程序网络作业题(含大数相加)

1.1 Hello world. 让我们用C语言向世界问好。 最早的程序基本是这个样子的: 程序一: #include void main() { printf("Hello world.\n"); } 程序二: #include int main() { printf("Hello world.\n"); return 0; } 上面的程序你任意模仿一个,看看是否可以通过?如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。输入:无 输出:Hello world. #include int main() { printf("Hello world.\n"); } 1.2 Welcome to Beijing. 让我们来练习如何显示多行文字。 输入:无 输出:就是下面的那段文字。 #include void main() {printf("Welcome\n"); printf("to\n"); printf("Beijing.\n"); } 1.3 练习最简单的printf和scanf printf函数和scanf函数是C语言中最常用的函数之一,下面让我们练习一下吧。 输入:整型变量x的值。 输出:输出整型变量x对应的十进制、八进制和十六进制形式。 认真观察-1的八进制和十六进制输出,请想想是为什么。 #include int main() {int x; scanf("%d",&x); printf("x=%d,",x);

printf("x=%o,",x); printf("x=%x\n",x); return 0; } 1.4 练习两个整数之间的运算 背景:基本练习。 输入:接受两个整数,每个整数之间使用空格分隔。例如输入格式为:123 444 输出:分别输出进行+、-、*、/、*之后的运行结果。 #include int main() {int x,y; scanf("%d%d",&x,&y); printf("%d+%d=%d\n",x,y,x+y); printf("%d-%d=%d\n",x,y,x-y); printf("%d*%d=%d\n",x,y,x*y); printf("%d/%d=%d\n",x,y,x/y); printf("%d%%%d=%d\n",x,y,x%y); return 0; } 1.5 学习打印你的第一个图形 背景:我们已经学习了printf函数,这里给出了一个小程序,它运行的结果是输出一个由星号(*)组成的4*4的正方形。程序如下: #include int main() { printf("****\n"); printf("****\n"); printf("****\n"); printf("****\n"); return 0; } 要求:按照上面的程序范例,编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。 输入:无。 输出:指定图形。 #include int main() { printf(" *\n"); printf(" ***\n"); printf(" *****\n"); printf("*******\n"); return 0; } 2.1 整型数的表示范围

c语言考试试题

六 ━━━━━━━━━━━━━━━ 一、判断共10题(共计20分) ━━━━━━━━━━━━━━━ 第1题(2.0分)题号:1259 若定义int m[]={1,2,3,4,5};则m[1]的值为2. 答案:Y 第2题(2.0分)题号:1275 如果定义一个函数时省略类型,则函数没有返回值. 答案:N 第3题(2.0分)题号:12 结构体类型只有一种。 答案:N 第4题(2.0分)题号:1241 在C语言的标识符中,大写字母和小写字母完全等价. 答案: 第5题(2.0分)题号:1271 定义一种结构体类型后,则用该类型定义的所有变量占用内存的大小是相同的. 答案:Y 第6题(2.0分)题号:1269 若定义int a[4]={1,2,3,4};若超界引用a[4]则编译时不报错. 答案:Y 第7题(2.0分)题号:1096 C语言中"%"运算符的运算对象必须是整型. 答案:Y 第8题(2.0分)题号:1109 两个字符串中的字符个数相同时才能进行字符 串大小的比较 答案:N 第9题(2.0分)题号:1135 语句printf("%c",65);存在语法错误. 答案:N 第10题(2.0分)题号:32 若有说明int c;则while(c=getchar());是正 确的C语句。 答案:Y ━━━━━━━━━━━━━━━━━ 二、单项选择共15题(共计30分) ━━━━━━━━━━━━━━━━━ 第1题(2.0分)题号:3114 C语言源程序名的后缀是 A:exe B:c C:obj D:cp 答案:B 第2题(2.0分)题号:184 以下不能正确定义二维数组的选项是 ( ). A:int a[2][2]={{1},{2}}; B:int a[][2]={1,2,3,4}; C:int a[2][2]={{1},2,3}; D:int a[2][]={{1,2},{3,4}}; 答案:D 第3题(2.0分)题号:129 以下各标识符中,合法的用户标识符为 ( ). A:A#C B:mystery C:main D:ab* 答案:B 第4题(2.0分)题号:632 以下叙述正确的是()。 A:do-while语句构成的循环不能用其它语句构 成的循环来代替. B:do-while语句构成的循环只能用break语句 退出. C:用do-while语句构成的循环,在while后的表 达式为非零时结束循环. D:用do-while语句构成的循环,在while后的表 达式为零时结束循环 答案:D 第5题(2.0分)题号:149 以下程序的输出结果是()。 main() {float x=3.6; int i; i=(int)x; printf("x=%f,i=%d\n",x,i); } A:x=3.600000,i=4 B:x=3,i=3 C:x=3.600000,i=3 D:x=3 i=3.600000 答案:C 第6题(2.0分)题号:172 在C语言程序中()。 A:函数的定义可以嵌套,但函数的调用不可以 嵌套 B:函数的定义不可以嵌套,但函数的调用可以 嵌套 C:函数的定义和函数调用均可以嵌套 D:函数的定义和函数调用不可以嵌套 答案:B 第7题(2.0分)题号:678 当调用函数时,实参是一个数组名,则向函数 传送的是()。 A:数组的长度 B:数组的首地址 C:数组每一个元素的地址 D:数组每个元素中的值 答案:B 第8题(2.0分)题号:125 下列程序的输出结果是()。 main() {int a=7,b=5; printf("%d\n",b=b/a); } A:0 B:5 C:1

相关主题
文本预览
相关文档 最新文档