中石大C语言程序设计次在线作业答案

中石大C语言程序设计次在线作业答案
中石大C语言程序设计次在线作业答案

第三次在线作业

单选题 (共20道题)

收起

1.(

2.5分)在C语言中,当函数调用时()。

A、A. 实参和形参各占一个独立的存储单元

B、B. 实参和形参共用存储单元

C、C. 可以由用户指定实参和形参是否共用存储单元

D、D. 由系统自动确定实参和形参是否共用存储单元

我的答案:A 此题得分:2.5分

2.(2.5分)以下函数调用语句中实参的个数为()。 exce((v1,v2),(v3,v4,v5),v6);

A、A. 3

B、B. 4

C、C. 5

D、D. 6

我的答案:A 此题得分:2.5分

3.(2.5分)如果在一个函数的复合语句中定义了一个变量,则该变量()。

A、A. 只在该符合语句中有效,在该符合语句外无效

B、B. 在该函数中任何位置都有效

C、C. 在本程序的原文件范围内均有效

D、D. 此定义方法错误,其变量为非法变量

我的答案:A 此题得分:2.5分

4.(2.5分) C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()。

A、A. float型

B、B. int型

C、C. long型

D、D. double型

我的答案:B 此题得分:2.5分

5.(2.5分) C语言规定,函数返回值的类型是由()。

A、A. return语句中的表达式类型所决定

B、B. 调用该函数时的主调函数类型所决定

C、C. 调用该函数时系统临时决定

D、D. 在定义该函数时所指定的函数类型决定

我的答案:D 此题得分:2.5分

6.(2.5分)在C语言程序中,以下描述正确的是()。

A、A. 函数的定义可以嵌套,但函数的调用不可以嵌套

B、B. 函数的定义不可以嵌套,但函数的调用可以嵌套

C、C. 函数的定义和函数的调用均不可以嵌套

D、D. 函数的定义和函数的调用均可以嵌套

我的答案:B 此题得分:2.5分

7.(2.5分)以下叙述中正确的是()。

A、A. 全局变量的作用域一定比局部变量的作用域范围大

B、B. 静态(static)类别变量的生存期贯穿于整个程序的运行期间

C、C. 函数的形参都属于全局变量

D、D. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值我的答案:B 此题得分:2.5分

8.(2.5分)以下程序的运行结果是()。 #include< stdio_h> void sub(int s[],int y) { static int t=3; y=s[t];t--; } main() { int a[]={1,2,3,4},i,

x=0; for(i=0;i< 4;i++){ sub(a,x);printf("%d",x);} printf("\n"); }

A、A.1234

B、B.432l

C、C.0000

D、D.4444

我的答案:C 此题得分:2.5分

9.(2.5分)以下程序的运行结果是: main() { int w=5; fun(w); } fun(int k) { if(k> O) fun(k-1); printf(" %d" ,k); }

A、A.5 4 3 2 l

B、B.0 1 2 3 4 5

C、C.1 2 3 4 5

D、D.5 4 3 2 1 0

我的答案:B 此题得分:2.5分

10.(2.5分)当调用函数时,实参是一个数组名,则向函数传送的是()

A、A.数组的长度

B、B.数组的首地址

C、C.数组每一个元素的地址

D、D.数组每个元素中的值

我的答案:B 此题得分:2.5分

11.(2.5分)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。

A、A.地址传递

B、B.单向值传递

C、C.由实参传给形,再由形参传回实参

D、D.传递方式由用户指定

我的答案:B 此题得分:2.5分

12.(2.5分)定义一个结构体变量时系统分配给它的内存是()。

A、A. 各成员所需要内存量的总和

B、B. 结构体中第一个成员所需内存量

C、C. 成员中占内存量最大者所需的容量

D、D. 结构中最后一个成员所需内存量

我的答案:A 此题得分:2.5分

13.(2.5分)设有如下定义:struct sk {int a ;float b ;}data ,*p ;若有p=& data ;,则对data 中的a 域的正确引用是()。

A、A.(*p).data.a

B、B.(*p).a

C、C.p-> data.a

我的答案:B 此题得分:2.5分

14.(2.5分)当定义一个共用体变量时系统分配给它的内存是()。

A、A. 各成员所需要内存量的总和

B、B. 共用体中第一个成员所需内存量

C、C. 成员中占内存量最大者所需的容量

D、D. 共用体中最后一个成员所需内存量

我的答案:C 此题得分:2.5分

15.(2.5分)设有如下枚举类型定义:enum language { Basic=3 ,Assembly ,Ada=100 ,COBOL ,Fortran} ;枚举量Fortran 的值()。

A、A. 4

B、B. 7

C、C. 102

D、D. 103

我的答案:C 此题得分:2.5分

16.(2.5分)若x=5,y=5,则x& y的结果是()。

A、A. 0

B、B. 2

C、C. 3

D、D. 5

我的答案:D 此题得分:2.5分

17.(2.5分)在位运算中,操作数每左移两位,则结果相当于()。

A、A. 操作数乘以2

B、B. 操作数除以2

C、C. 操作数除以4

D、D. 操作数乘以4

我的答案:D 此题得分:2.5分

18.(2.5分) C语言可以处理的文件类型是()。

A、A. 文本文件和数据文件

B、B. 文本文件和二进制文件

C、C. 数据文件和二进制文件

D、D. 数据代码文件

我的答案:B 此题得分:2.5分

19.(2.5分)在执行fopen函数时,若执行不成功,则函数的返回值是()。

A、A.TRUE

B、B.–1

C、C.1

D、D.NULL

我的答案:D 此题得分:2.5分

20.(2.5分)在C程序中,可把整型数以二进制形式存放到文件中的函数是()。

A、A.fprintf函数

B、B.fread函数

C、C.fwrite函数

D、D.fputc函数

我的答案:C 此题得分:2.5分

判断题 (共20道题)

收起

21.(2.5分)下面程序段运行时输出结果是:0,0 1,3 void main() { int i; for(i=0;i< 2;i++) add(); } add() { int x=0; static int y=0; printf(" %d,%d " ,x,y); x++; y=y+3; }

正确

错误

我的答案:错误此题得分:2.5分

22.(2.5分)下面程序段运行时输出结果是:38.5 int x; void main() { x=7; s(); printf(" %d\n" ,x); } void s() { x=5*x+x/2; }

正确

错误

我的答案:错误此题得分:2.5分

23.(2.5分)下面程序段运行时输出结果是2 int f(int n) { int s; if(n==1||n==2) s=1; else s=n-f(n-1); return s; } void main() { printf(“%d”,f(3));}正确

错误

我的答案:正确此题得分:2.5分

24.(2.5分)下面程序段运行时输出结果是29 fun(int x,int y,int z) {z=x*x+y*y;} main() { int a=31; fun(5,2,a); printf("%d",a); }

正确

错误

我的答案:错误此题得分:2.5分

25.(2.5分)编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述的结果。判断以下程序是否正确: #include< stdio.h> #include< string.h> void fltj(char str[],int a[]) { int ll,i; ll=strlen(str); for (i=0;i< ll;i++) { if (str[i]> =' a' & & str[i]< =' z' ||str[i]> =' A' & & str[i]< =' Z' ) a[0]++; else if (str[i]> =' 0' & & str[i]< =' 9' ) a[1]++; else if (str[i]==' ' ) a[2]++; else a[3]++; } } void main() { static char str[60]; static int a[4]={0,0,0,0}; gets(str); fltj(str,a); printf(" %s char:%d digit:%d space:%d other:%d" , str,a[0],a[1],a[2],a[3]); }

正确

错误

26.(2.5分)打印出1-100之间的全部素数(要求编写两个函数,一个用于判断一个数是否是素数,另一个是main函数,在main函数中调用该函数实现打印1-100之间的全部素数)。判断以下程序是否正确: #include < stdio.h> int prime(int m) { int i; for(i=2;i< m;i++) if(m%i==0) return 0; return 1; } void main() { int i; for(i=2;i< 100;i++) if(prime(i)) printf(" %d " ,i); }

正确

错误

我的答案:正确此题得分:2.5分

27.(2.5分)对10个数进行从小到大排序。要求排序在函数sort内完成,用起泡算法。main函数内进行数据输入、调用排序函数sort、并输出排序后的数据。判断以下程序是否正确: #include < stdio.h> void sort(int a[],int n) { int i,j,k; for ( i=0; i< n-1; i++) for ( j=0; j< n-1-i; j++) if (a[j]> a[j+1]) { k=a[j];

a[j]=a[j+1];a[j+1]=k; } } void main( ) { int a[10], i, j, k; printf(" 请任意输入10个整数:\n" ); for ( i=0 ; i< 10 ; i++) scanf(" %d" , & a[i]) ; printf(" \n" ) ; sort(a,10); printf(" 按由小到大的顺序输出10个整数是:\n" );for (i=0; i< 10; i++) printf(“%d," ,a[i]); }

正确

错误

28.(2.5分)

fun函数用来统计各分数段的分数个数,其中所有分数存放在数组a中,各分数段的分数个数存放在数组b中,85-100分的个数存放到b[0],60-84分的个数存放到b[1],60以下的个数存放到b[2]。main函数中输入所有的分数值,调用fun函数,打印各分数段的分数个数。判断以下程序是否正确:

#include

#define N 20

void fun(int a[],int b[],int n)

{ int i;

for (i=0;i if (a[i]>=85 && a[i]<=100) b[0]++;

else if(a[i]>=60&&a[i]<=84) b[1]++;

else if(a[i]<60&&a[i]>=0) b[2]++;

return;

}

void main()

{ int a[N],b[3],i;

fun(a,b,N);

for(i=0;i<3;i++) printf(“%d\n”,b[i]);

}

正确

错误

我的答案:正确此题得分:2.5分

29.(2.5分)在定义函数时,函数名后面的括号中的变量名称为实参。

正确

错误

我的答案:错误此题得分:2.5分

30.(2.5分)在调用一个函数的过程中又出现直接或间接调用该函数本身,称为函数的递归调用。

正确

错误

我的答案:正确此题得分:2.5分

31.(2.5分)在函数内定义的变量是局部变量,在函数外定义的变量是外部变量。

外部变量是全局变量。

正确

错误

我的答案:正确此题得分:2.5分

32.(2.5分)函数的参数不仅可以是整型、字符型、浮点型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。

正确

错误

我的答案:正确此题得分:2.5分

33.(2.5分)结构体的成员不能是结构体变量。

正确

错误

我的答案:错误此题得分:2.5分

34.(2.5分)一个结构体变量的指针就是该变量所占内存段的起始地址。

正确

错误

我的答案:正确此题得分:2.5分

35.(2.5分)“按位或”运算指两个运算数相应的二进制位中只要有一个为1,则该位结果值为1,比如0|0=0,1|0=1。

正确

错误

我的答案:正确此题得分:2.5分

36.(2.5分)异或运算指两个运算数相应的二进制位相同则结果为0,相异则结果为1,比如0∧1=1,0∧0=0。

正确

错误

我的答案:正确此题得分:2.5分

37.(2.5分)若fp是指某文件的指针,且已读到文件的末尾,则表达式feof(fp)的返回值是NULL

正确

错误

我的答案:错误此题得分:2.5分

38.(2.5分) C语言库函数fgets(str,n,fp)的功能是从文件fp中读取n个字符

串存入str指向的内存。

正确

错误

我的答案:错误此题得分:2.5分

39.(2.5分)函数rewind的作用是使位置指针自动移至下一个字符位置。

正确

错误

我的答案:错误此题得分:2.5分

40.(2.5分) C语言中以w+方式打开文件后,可执行的文件操作是可任意读写。

正确

错误

我的答案:错误此题得分:2.5分

c语言程序设计教程第二版课后习题答案

c 语言程序设计教程第二版课后习题 答 案 篇一: c 语言程序设计教程_李含光_ 郑关胜_ 清华大学 出版社习题答案习题答案[完美打印版]】1.单项选择题 (1)a (2)c(3)d (4)c (5)b 2.填空题(1)函数 (2)主函数(main )(3)printf(),scanf()第 2 章习题参考答案 1.单项选择题 1-5 cbccc 6-10 cdcdc 11-13 dbb 2 .填空题 (1)1(2)26 (3)6 , 4 , 2 (4)10 , 6 (5)3.000000 (6)双精度(double )(7)9 (8)字母,数字,下划线(9)13.700000 (10)11(11)((m/10 )%10 )*100+ (m/100 )*10+m%10 (12)0 (13)10 ,9 ,11(15) (x0y0)||(x0z0)||(y0||z0)(16 )double (17)x==0 (18)sqrt(fabs(a-b))/(3*(a+b))(19 )sqrt((x*x+y*y)/ (a+b)) 第 3 章习题参考答案 1.单项选择题 1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2 .填空题 (1)用;表示结束(2){ } (3 )y=x0?1:x==0?0:-1 (4)y%4==0y%100!=0||y%400==0 (5)上面未配对(6)default 标号(7)while ,do while ,for (8)do while (9)本次(10)本层3.阅读程序,指出结果 (1)yes (2)*(3)abother (4)28 70 (5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12 (11) i=6 ,k=4 (12)1,-2 4 .程序填空 (1)x:y ,u :z (2)m=n ,m !=0 ,m=m/10 (3)teps , t*n/(2*n+1) , printf( n”“,%2*lsf )(4)m%5==0 ,

国家开放大学C语言程序设计A第一次形考任务及答案

一、选择题(共40分,每小题2分) 题目1 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。 A. main B. MAIN C. name D. function 题目2 C语言源程序文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目3 由C语言目标文件连接而成的可执行文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目4 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为()。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号

D. 空格或回车 题目5 每个C语言程序文件的编译错误被分为()。 A. 1类 B. 2类 C. 3类 D. 4类 题目6 不符合C语言规定的复合语句是()。 A. {} B. {;} C. {x=0;} D. {y=10} 题目7 C语言程序中的基本功能模块为()。 A. 表达式 B. 标识符 C. 语句 D. 函数 题目8 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。 A. 表达式 B. 语句 C. 参数表

D. 函数体 题目9 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对()。 A. 尖括号 B. 双引号 C. 单引号 D. 花括号 题目10 在C语言程序中,多行注释语句使用的开始标记符为()。 A. // B. /* C. */ D. ** 题目11 在printf()函数调用的格式字符串中,若使用格式符为“%c”,则对应输出的数据类型为()。 A. char B. int C. float D. double 题目12 在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为()。

C语言程序设计入门经典例题

1、加法练习程序:由用户通过键盘输入加数和被加数,程序显示加法式子,用户通过键盘作答后,程序给出正确与错误提示信息。要求:利用C的选择语句if条件语句或switch 开关语句,键盘输入数据前,程序会出被输入数据的信息提示。 #include void main(){ int a,b,c; printf("please put an addend:\n");scanf("%d",&a); printf("please put an augend:\n");scanf("%d",&b); printf("please answer the question:a+b=?");scanf("%d",&c); if(a+b==c) printf("very good!"); else printf("wrong! "); } 个人感觉这个程序最不好的地方是,不管回答正确还是回答错误,程都会立即结束,所以我用了do…while实现一个回答错误之后获得再次回答机会的循环,则程序修改如下: #include void main(){ int a,b,c; printf("请输入一个加数:\n");scanf("%d",&a); printf("请输入一个被加数:\n");scanf("%d",&b); do { printf("请回答:a+b=");scanf("%d",&c); if(a+b!=c) printf("请再想一想\n"); } while(a+b==c) printf("回答正确!"); } 2、判闰年程序:判断某一年是否闰年? 要求:程序首先提示用户从键盘输入4位数年份,程序能显示“XXXX年是闰年”或“XXXX年不闰年”的输出信息。 算法:year 是闰年,即year能被4整除但不能被100整除,或 year 能被 400 整除。其对应的C逻辑表达式为:(year % 4 = = 0 && year % 100 != 0) || (year % 400 = = 0) 或: (!(year % 4) && year % 100) || !(year % 400 ) 程序中可设置1个变量leap来代表是否闰年的信息,闰年:leap=1; 不闰年:leap=0。 #include void main() int year; printf("请输入4位数年份:");scanf("%d",&year); if(year%4==0&&year%100!=0||year%400==0)//闰年就是能被4整除但不能被100整除及能被400整除的

中国石油大学(北京)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语言2018年在线考试

设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[1 0]中,下面语句中能把“China”连接到“Beijing”之后的为() ?A) strcpy(str1,str2); ? ?B) strcpy(str1,“China”); ? ?C) strcat(str1,“China”) ? ?D) strcat(“Beijing”,str2); ? 2(2.0分) 下列变量的定义及赋值正确的是() ?A) int i=0;j; ? ?B) char c=”A”; ? ?C) double x,y,z;x=y=z=100; ? ?D) float a=b=100; ?

3(2.0分) 设有定义语句:char str[][20]={"Hello","Beijing"},*p=str; 则printf ("%d\n",strlen(p+20)); 输出结果是() ?A) ? ?B) 5 ? ?C) 7 ? ?D) 20 ? 4(2.0分) 设有定义:int x=0,y=1,z=1;则运行表达式:x=y >z--后,x,y, z的值分别是() ?A) 1,1,1 ? ?B) 1,2,0 ? ?C) 0,1,1 ?

0,2,0 ? 5(2.0分) 下列程序段的输出结果是()x=9; while(x>7) {printf(“*”);x--;} ?A) **** ? ?B) *** ? ?C) ** ? ?D) * ? 6(2.0分) 设有定义int a[ ]={1,5,7,9,11,13},*p=a 3;则*(p-2),*(a 4)的值是() ?A) 5 11 ? ?B) 1 9 ? ?C) 5 9 ?

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

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

国家开放大学C语言程序设计A第一次形考任务与答案(20201127230652)

一、选择题(共40分,每小题2分) 1 题目1 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()* A.main B. MAIN C. name D. function 题目2 1 C语言源程序文件的缺省扩展名为()。 A. cpp B. exe C. obj * D.c 题目3 1 由C语言目标文件连接而成的可执行文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目4

程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为() A. 空格或逗号 B. 逗号或回车 C. 逗号或分号

* D.空格或回车 题目5 1 每个C语言程序文件的编译错误被分为()。 A. 1类 ” B.2 类 C. 3类 D. 4类 题目6 不符合C语言规定的复合语句是()。 A. {} B. {;} C. {x=0;} + D.{y=10} 题目7 1 C语言程序中的基本功能模块为()。 A. 表达式 B. 标识符 C. 语句 D. 函数 题目8 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()

B. 语句 C. 参数表 D. 函数体 题目9 1 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用 的起止定界符为一对()。 A. 尖括号 * B.双引号 C. 单引号 D. 花括号 题目10 L 在C语言程序中,多行注释语句使用的开始标记符为()。 A. // + B./* C.*/ D ** 题目11 1 在printf()函数调用的格式字符串中,若使用格式符为“%C',则对应输出的数据类型为()。

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语言程序设计(第二版)习题参考答案

C语言程序设计习题参考答案 习题1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F 2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。 D. 每个函数执行时,按函数体中语句的先后次序,依次执行每条语句 解:1.C 2.C 3.D 4.B 5.B 6.B 7.B 三、填空题

C语言程序设计实习报告

手机通讯录管理系统一、设计题目的任务和内容 任务:本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。我设计的这个通讯录系统也初步实现了人员信息的显示、删除、查找、修改、添加等必要的功能。 具体要求: ◆建立通讯录信息,信息包含、姓名、分类(1、办公类2、个人类3、商务类)、电话、 电子邮箱等; ◆将通讯录保存在文件中; ◆查看功能:可按1、办公类2、个人类3、商务类分类查询,当选中其中一类时,显示出 此类所有数据中的姓名和电话号码。 ◆增加功能:能录入新数据。当录入重复姓名和电话号码时,则提示数据录入重复并取消 录入;当通讯录中超过15条信息时,存储空间已满,不能录入新数据;录入的新数据能按递增的顺序自动进行条目编号。 ◆修改功能:选中某个人的姓名是,可对此人的相应数据进行修改。 ◆删除功能:选中某个人的姓名是,可对此人的相应数据进行删除并自动调整后续条目编 号。 系统功能需求分析: 查询:查询通讯录记录 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 修改:修改通讯录记录

二、总体设计思路 本系统首先设计出了主函数,然后根据去要实现的功能分别设计拉,显示、删除、查找、修改、添加功能的子函数。在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能。 系统功能模块图: 输入新信息:可输入新的数据。 添加:可以添加通讯录记录,依次输入姓名、电话号码、分类、电子邮箱后,会提示是否继续添加。 删除:输入姓名删除,输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可按1、办公类2、个人类3、商务类分类查询 修改:输入欲修改的那个人的名字后,再依次输入姓名、电话号码、分类、电子邮箱即可完成修改。 下面就是总的程序流程图:

C语言程序设计第一次月考试题

C语言程序设计第一次月考试题(2011.9) 班级:姓名:总分: 一、选择题(每小题3分,共60分) 1.一个C语言程序是由() A)一个主程序和若干子程序组成B)函数 C)若干过程组成D)若干子程序组成 2.下面4个选项中,均是C语言关键字的选项是() A)auto enum include B)switch typedef continue C)singed union scanf D)if struct type 3. 下面4个选项中,均是不合法的用户标识符的选项是() A)A P_0 do B)float 1a0 -A C) b—a goto int D) _123 temp INT 4.下面4个选项中,均是不合法的整形常量的选项是() A)- - 0f1 - oxfff 0011 B)- oxcdf 017 12,456 C) – 018 999 5e2 D)-0x48eg -068 03f 5. 下面4个选项中,均是不合法的浮点数的选项是() A)160.0.12 e3 B)123 2e4.2 .e5 C)-.18 123e4 0.0 D)-e3 .234 1e3 6.下面4个选项中,均是不合法的转义字符的选项是() A)‘\‖‘?\\‘?\xf‘B)‘\1011‘?\‘?\a‘ C) ?\011‘?\f‘?\}‘D)‘\abc‘?\101‘?x1f‘ 7.下面不正确的字符串常量是() A)‘abc‘B)‖12‘12‖C) ‖0‖D)‖‖ 8.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) 9.若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值 是() A) 4 B)16 C)32 D)52 10.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( ) A) 7 B) 8 C)6 D)2 11.已知各变量的类型说明如下: 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) 12.已知字母A的ASCII码为65,且定义c2为字符型变量,则执行语句c2=‘A‘+‘6‘-?3‘;后;c2中的值为() A) D B) 68 C)不确定的值D) C

C语言程序设计试题与答案-4

C语言程序设计试题与答案-4

《C语言程序设计》试题(闭卷) 一、单项选择题:(每题 2 分, 共 30 分) 1. C 语言规定:在一个源程序中, main函数的位置_____________。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 2. 下列说法中错误的是 _____________。 A. 主函数可以分为两个部分: 函数头和函数体 B. 主函数可以调用任何非主函 数的其他函数 C. 任何非主函数可以调用其他 任何非主函数 D. 程序可以从任何非主函数开 始执行 3. 用 C 语言编写的源文件经过编

的值是_____________。 A. 1,1 B. 0,1 C. 1,0 D. 0,0 8. sizeof (char)的结果值是 _____________。 A. 4 B. 2 C. 1 D.出错 9. 设 a 为整型变量,不能正确表达 数学关系:1010 && a<15 D. !(a<=10) && !(a>=15) 10. 要为字符型变量 a赋初值,下列 语句中哪一个是正确的 _____________。 A. char a="3"; B. char a=’3’; C. char a=%; D. char a=*; 11. 设有定义:char s[12] = "STRING" ; 则 printf( "%d\n",strlen(s)); 的 输出是_____________。

C语言程序设计习题及答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是() A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是() A、abc B、12AC C、sun D、 A2 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是() A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是() A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是() A、% B、/ C、%和/ D、 + 6、以下关于运算符的优先顺序的描述正确的是() A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是()sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad);

A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是() A、 INPUT x、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、 scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:() void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是() main( ) { int x,y; scanf(“%d”,&x); y=x>12x+10:x-12; printf(“%d\n”,y); } A、 0 B、 22 C、 12 D、10 11、C语言中while和do-while循环的主要区别() A、do-while的循环体至少执行一次 B、while 的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内

中国石油大学《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都是指针变量

中国石油大学华东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语言在线测评答案 第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)

相关文档
最新文档