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

合集下载

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

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

C语言复习题【设计型】5.1 输出一行星号编写程序在一行中输出 N 个星号。

输入: N值输出:一行中N个星号#include<stdio.h>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<stdio.h>int main(){int i,j,num;scanf("%d",&num);for(i=0;i<num;i++){for(j=0;j<num;j++)printf("*");printf("\n");}return 0;}【设计型】5.3 编程计算编写程序,输入n的值,求 :1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n (保留四位小数) #include<stdio.h>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<stdio.h>int main(){int n,a,b,i,temp;double sum;scanf("%d",&n);i=1,sum=0,a=2,b=1;while(i<=n){sum=sum+a*1.0/b;temp=a;a=a+b;b=temp;(几个式子实现数值的变换)i++;}printf("sum=%16.10f\n",sum);return 0;}【设计型】5.5 求e的值编写程序,从键盘输入整数 n , 求 e 的值 . e=1+1/1!+1/2!+1/3!+..+1/n! 注意:用 double 型数据计算输出语句:printf("sum=%16.10f\n",sum);#include<stdio.h>int main(){int n,i;double sum,jc;scanf("%d",&n);i=1,sum=1.0 jc=1.0;while(i<=n){jc=jc*i;sum=sum+1.0/jc;i++;}printf("sum=%16.10f\n",sum);return 0;}【设计型】5.6 最大公约数输入两个正整数m和n,求它们的最大公约数和最小公倍数比如,输入m和n的值分别为14和21,则最大公约数为7,最小公倍数为42。

2012年3月全国计算机等级考试二级C语言真题及详细答案

2012年3月全国计算机等级考试二级C语言真题及详细答案

12、关于C语言中数的表示,以下叙述示,实型数会有误差
B、只要在在允许范围内整型和实型都能精确表示
C、只有实型数在允许范围内能精确无误的表示,整型数
会有误差
Main()
{ int a;
Scanf(“%d”,&amp;a);
If(a++&lt;9) printf((“%d\n”,a);
Else printf((“%d\n”,a--);
}
程序运行时键盘输入9&lt;回车&gt;,则输出的结构是
A、10 B 11 C 9 D 8
6、 有三个关系R、S和T如下:
R
A B C
a 1 2
b 2 1
c 3 1
则由关系R和S得到关系T的操作是
A、自然连接 B、并 C、差 D、交
【答案】C
【解析】R和S的差是由属于R但不属于S的元组组成的集合,运算符为“-”。记为T=R-S。根据本题关系R和关系S运算前后的
A 1,2,4 B 1,3,6 C 3,10,14 D 3,6,10
【答案】C)
【解析】本题考察switch语句的应用,case分支后面如果没有break,那么就会顺序执行下面的case,直到遇到break跳出。所以第一次循环后s的值为3打印输出。第二次s的值为:s=s+3,s=s+4,即为10,打印输出。第三次没有匹配成功直接执行default语句,s=s+4,所以s的值为14,打印输出。
行下句逗号表达式中的a=b,把b的值0赋给a,此时a的值为0,然后执行b=b+4,使得b的值为4。最后打印输出。
18、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是

C语言程序设计2012 (含答案)(1)

C语言程序设计2012 (含答案)(1)

12年的试题比13年的难很多,笔者费了一早上加一中午才全部做完。

如果对答案有疑问或者觉得哪里有问题请联系我qq553915228 李添锐一、写出下列程序段的运行结果(40分)1、(4分)char a='D'-'A',b='\010',c,d;c = ++a || b++;d = a-- && b--;printf("%d,%d,%d,%d",a,b,c,d);输出:3,7,1,12、(4分)char a=0x123FFF;printf("%d,",a);a=127;printf("%d",++a);输出:-1,-1283、(4分)int a=5,y=0;int main(){while(a=5){a+=5;y+=a;printf("%d,%d,", a, y);if (y>18) break;}return 0;}输出:10,10,10,204、(4分)int i=1, j=2, k=4;printf("%f,", i-(float)j/k);printf("%d,", j>1<k);k+=5/10*i ;printf("%d,",k);printf("%d", (j=1)?2:0);输出:0.500000,1,4,25、(4分)int a[][2]={(1,2),(3,4)};printf("%d",a[0][1]);输出:46、(4分)int ave(int x, int y){return (x+y)/2;}int main(){int a=1, b=2, c=3;printf("%d\n",ave(ave(a,b), ave(b,c)));return 0;}输出:1(\n)7、(4分)void exc(int x, int *y){int t;t=x; x=*y; *y=t;}int main(){int a=5,b=8;exc(a,&b);printf("a=%d,b=%d",a,b); return 0;}输出:a=5,b=58、(4分)char str[10]="believe";char *p=str;*(str+5)=0;puts(2+p);输出:lie9、(4分)struct pt{int x; int y;} p[2]={1,3,5,7}; printf("%.3f",p[1].y/(float)p[0].y+ p[1].x/p[0].x);输出:7.33310、(4分)FILE *fp;char c=49;int d=50, e;fp=fopen("a.tmp","w"); fprintf(fp,"%c%d", c, d); fclose(fp);fp=fopen("a.tmp","r"); fscanf(fp,"%d",&e); printf("%d\n",e);输出:150(\n)二、改错题(20分)以下程序实现:从键盘输入若干个学生的成绩数据,将这些数据存到磁盘文件上,并求这些学生的最高成绩。

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

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

大一6.1 谁能出线背景:电视台举办“超级学生”才艺大赛,由于报名人数狂多,所以要先进行分组预赛。

按规定,每10名学生为一个预赛小组,评委打出分数(0~100分),各小组第一名可以进入下一轮;如果有多名学生得分相同都是第一名,则可同时进入下一轮。

输入:按顺序给出一个小组10个人的最后得分(int)。

输出:能够出线的学生序号(0~9)。

#include<stdio.h>void main(){int a[10];int b=0,i,n,max=0;for(i=0;i<10;i++){scanf("%d",&a[i]);}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);}}}6.2 统计素数的个数求出 2 到m 之间( 含m,m<=1000) 所有素数并放在数组 a 中。

输入:正整数m输出:从小到大的所有素数,及个数(素数输出的时候用%4d来控制)如:输入:10输出:2 3 5 74#include<stdio.h>int main(){int x,n,t[100],j,i=0;scanf("%d",&n);for(x=2;x<=n;x++){for(j=2;j<=x;j++){if(x%j==0)break;}if(x==j){ t[i]=x;printf("%4d",t[i]);i++;}}printf("\n%d\n",i);return 0;}6.3 冒泡法排序冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。

即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。

中国石油大学华东c语言期末考试题及答案

中国石油大学华东c语言期末考试题及答案

中国石油大学华东c语言期末考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,错误的是()。

A. 变量必须先定义后使用B. 变量的类型必须明确C. 变量名可以是任意字符D. 变量的类型决定了变量的存储空间答案:C2. 在C语言中,下列哪个关键字用于定义函数?()A. intB. voidC. returnD. main答案:B3. 下列哪个选项是正确的C语言注释方式?()A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释 */答案:B4. C语言中,下列哪个运算符用于比较两个值是否相等?()A. ==B. !=C. >D. <答案:A5. 在C语言中,下列哪个选项是正确的字符串定义方式?()A. char str[] = "Hello";B. char str = "Hello";C. char str[] = {"Hello"};D. char str = {"Hello"};答案:A6. 下列哪个选项是C语言中的合法整型常量?()A. 123B. 0x1AC. 0123D. All of the above答案:D7. C语言中,下列哪个选项用于定义一个指向整型的指针?()A. int *p;B. int p;C. *int p;D. int *p = 0;答案:A8. 下列哪个选项是正确的C语言数组定义方式?()A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2, 3};D. All of the above答案:D9. 在C语言中,下列哪个选项是正确的文件包含指令?()A. #include "stdio.h"B. #include <stdio.h>C. #include "stdio.h"D. #include <stdio.h>答案:D10. 下列哪个选项是C语言中正确的条件语句?()A. if (x > 0)B. if x > 0C. if (x > 0) {D. if (x > 0) then答案:C二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量并初始化为10的语句是:________。

中国石油大学C语言在线作业参考

中国石油大学C语言在线作业参考

中国石油大学C语言在线作业参考一、单项选择题答题要求:每题只有一个正确的选项。

1(5.0分)在下面几组数据类型中, 全为最常用的基本数据类型的是()•A)整型实型字符型••B)整型数组指针••C)数组结构体共用体••D)指针逻辑型空类型•参考答案: A收起解析解析:无2(5.0分)在C语言中,十进制数47可等价地表示为()•A)••B)02f••C)57••D)057•参考答案: D收起解析解析:无3(5.0分)执行下面程序:main(){int x=1,y=1,z=1;x=x++ +y++ +z++;printf("%d, %d , %d",x,++y,z++);输出的结果为()•A)4,3,2••B)3,3,2••C)3,3,3••D)3,2,2•参考答案: A收起解析解析:无4(5.0分)在下列描述中,正确的一条是()•A)if(表达式)语句中,表达式的类型只限于逻辑表达式••B)语句“goto 12;”是合法的••C)for(;;)语句相当于while(1)语句••D)break语句可用于程序的任何地方,以终止程序的执行•参考答案: C收起解析解析:无5(5.0分)语句:printf("%d",(a=2)&&(b=-2));的输出结果是()•A)无输出••B)结果不确定••C)1••D)2•参考答案: C收起解析解析:无6(5.0分)有如下定义:long m;char c;float x;double y;则表达式c m*x/y的值的类型是()•A)long••B)char••C)float••D)double•参考答案: D收起解析解析:无7(5.0分)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()•A)地址传递••B)由实参传给形参,再由形参返回实参••C)值传递••D)传递方式由用户指定•参考答案: C收起解析解析:无8(5.0分)有以下函数定义:void fun( int n ,double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()•A)fun( int y ,double m );••B)k=fun( 10 ,12.5 );••C)fun(x ,n);••D)void fun( 10 ,12.5 );•参考答案: C收起解析解析:无9(5.0分)在计算机中,C语言是属于()•A)机器语言••B)高级语言••C)汇编语言••D)自然语言•参考答案: B收起解析解析:无10(5.0分)在微型计算机系统中,存储一个汉字的国标码所需要的字节数是()•A)1••B)2••C)3••D)4•参考答案: B收起解析解析:无11(5.0分)执行int j,i=1; j=-i ; 后j的值是()•A)-1••B)-2••C)1••D)2•参考答案: A收起解析解析:无12(5.0分)在“while(!a)”中,其中“!a”与表达式()等价。

高级语言程序设计C(2012级A卷)答案

高级语言程序设计C(2012级A卷)答案

程序设计基础1(2012级计科A卷)答案一、简答题(单选,每题5分,共15分)1、什么是内存泄漏?如何防止?(5分)答:所谓内存泄漏是指:应用程序在必要时使用malloc或calloc函数向操作系统申请了内存空间,但在使用完毕后没有使用free函数及时归还给操作系统。

该现象称之为内存泄漏。

防止内存泄漏的方法就是:需要时申请内存,不需要时及时free.2、带参数的宏与函数有什么区别?(5分)答:(1)、函数调用要计算实参表达式的值;而宏替换不计算;(2)、函数调用是在程序运行时完成,而宏替换是在编译之前完成。

(3)、函数定义中的实参与形参均有类型说明;而宏替换没有;(4)、函数调用使程序运行时间加长,而宏替换使源代码加长。

3、文本文件与二进制文件有何区别?为什么说文件使用完后要及时关闭?(5分)答:文本文件是ASCII码文件,而二进制文件是内存印象文件。

C语言使用的是带缓冲的文件系统,如果文件使用后不及时关闭,会造成滞留在缓冲区的内容由于意外事故(比如系统掉电)而丢失。

从而造成不可预料的后果。

二、按要求完成下列各题(共40分)1~10:CDBCD AACBD11~20:DADDC DCBAD三、程序填空题(每空2分,共20分)【1】8 4【2】fun(a,4)+fun(b,4)-fun(a+b,3);【3】j<=i【4】a[i][j]=a[j][i]【5】*t++【6】efgh【7】6【8】3*sizeof(double)【9】2002Shangxian【10】a=1.0;b=1.0;s=1.0;四、下列程序已标上行号,请指出并改正程序中的错误。

(共6分)注:不得增加或删除程序行,也不能更改程序结构。

10个学生5门课,下面的程序从文件f1.dat读入所有学生的各课成绩,计算出每个学生的总分,并按总分降序的次序将每个学生名次、各课得分及总分输出到文件f2.dat。

提示: 为了避免排序时可能要交换s[k]和s[j][k],程序另引进数组ord[],改上述交换为ord和ord[j]的交换。

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

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

《C语言程序设计》期末复习题一、选择题1.能将高级语言编写的源程序转换成目标程序的是()A.程序 B. 解释程序 C. 编译程序 D.编辑程序2.设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是()。

A. 10<a<15B. a==11||a==12||a==13||a==14C. a>10&&a<15D.!(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. 3B. 30C. 523D. 3255.若有以下数组说明,则i=6;a[a[i]]元素数值是()。

int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.3B.8C.6D.56.若变量已正确定义,要求程序段完成求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都是指针变量D.数组s中的容和指针变量p中的容相等9.以下正确的函数定义是( )。

中国石油大学华东现代远程教育C语言

中国石油大学华东现代远程教育C语言

自测1试题1.第1题单选题已知小写字母的ASCII码为97,对于int a=99, b='b'; printf(“%c,%d”, a ,b);的结果是A、99, bB、c, 98C、99, 98D、c, b标准答案:B您的答案:B题目分数:5此题得分:5.0批注:2.第2题单选题下述语句的输出为int m=-1;printf(“%d,%u,%o”,m,m,m);A、-1,-1,-11B、-1,32767,-177777C、-1,32768,177777D、-1,65535,177777标准答案:D您的答案:D题目分数:5此题得分:5.0批注:3.第3题单选题设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值是A、7B、8C、9D、10标准答案:C您的答案:C题目分数:5此题得分:5.0批注:4.第4题单选题假定x和y为double型,则表达式x=2,y=x+3/2的值是A、3.500000B、3C、2.000000D、3.000000标准答案:D您的答案:D题目分数:5此题得分:5.0批注:5.第5题单选题若有定义:“int a=8,b=5,c;”,执行语句“c=a/b+0.4”后,c的值为A、1.4B、1C、2.0D、2标准答案:B您的答案:B题目分数:5此题得分:5.0批注:6.第6题单选题执行下面程序:main(){int x=1,y=1,z=1;x=x++ +y++ +z++;printf("%d, %d , %d",x,++y,z++); }输出的结果为A、4,3,2B、3,3,2C、3,3,3D、3,2,2标准答案:A您的答案:A题目分数:5此题得分:5.0批注:7.第7题单选题 void main() {int a=5, b=8;printf(“a=%d b=%d\n”, a,b);a=a+b; b=a-b; a=a-b;printf(“a=%d b=%d\n”, a,b) ; }输出的结果为A、a=5 b=8 a=8,b=5B、a=5 b=8a=5,b=8C、a=8 b=5a=8,b=5D、a=5 b=8a=8,b=8标准答案:A您的答案:A题目分数:5此题得分:5.0批注:8.第8题单选题执行int j,i=1; j=-i++; 后j的值是:A、-1B、-2C、1D、2标准答案:A您的答案:A题目分数:5此题得分:5.0批注:9.第9题单选题以下程序的输出结果是main(){int a=3;printf(“%d\n”,a+(a-=a*a));}A、-6B、12C、0D、-12标准答案:D您的答案:D题目分数:5此题得分:5.0批注:10.第10题单选题以下程序的输出结果是main(){int a=5,b=4,c=6,d;printf(“%d\n”,d=a>b?(a>c?a:c):(b)); }A、5B、4C、6D、不确定标准答案:C您的答案:C题目分数:5此题得分:5.0批注:11.第11题单选题以下程序的输出结果是main(){int a=0,i;for(i=1;i<5;i++){switch(i){case 0:case 3:a+=2;case 1:case 2: a+=3;default: a+=5;}}printf(“%d\n”,a);}A、31B、13C、10D、20标准答案:A您的答案:A题目分数:5此题得分:5.0批注:12.第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=1B、a=1 b=1C、a=1 b=0D、a=2 b=2标准答案:A您的答案:A题目分数:5此题得分:5.0批注:13.第13题单选题以下四个选项中不能看作一条语句的是A、{;}B、a=0,b=0,c=0;C、if(a>0)D、if(b==0)m=1;n=2;标准答案:D您的答案:D题目分数:5此题得分:5.0批注:14.第14题单选题结构化程序设计方法中有三种基本控制结构,以下不正确的是A、顺序结构B、选择结构C、循环结构D、数组结构标准答案:D您的答案:D题目分数:5此题得分:5.0批注:15.第15题单选题 C语言提供的合法关键字是A、swicthB、chaC、CaseD、default标准答案:D您的答案:D题目分数:5此题得分:5.0批注:16.第16题单选题以下四个选项中,属于实型常量的是A、0x12B、-12345e-3C、1e0.5D、e-5标准答案:B您的答案:B题目分数:5此题得分:5.0批注:17.第17题单选题以下选项中合法的用户标识是A、longB、_2TestC、3DmaxD、A.dat标准答案:B您的答案:B题目分数:5此题得分:5.0批注:18.第18题单选题在C语言中,字符型数据在内存中的存储形式是A、原码B、补码C、反码D、ASCII码标准答案:B您的答案:B题目分数:5此题得分:5.0批注:19.第19题单选题能正确表示逻辑关系“a≥10或a≤0”的C语言表达式是A、a>=10 or a<=0B、a>=10 || a<=0C、a>=10 && a<=0D、a>=10 | a<=0标准答案:B您的答案:B题目分数:5此题得分:5.0批注:20.第20题单选题以下选项中,与k=n++完全等价的表达式是A、k=n,n=n+1B、n=n+1,k=nC、k=++nD、k+=n+1标准答案:A您的答案:A题目分数:5此题得分:5.0批注:试卷总得分:100.0试卷总批注:自测2试题1.第1题单选题以下程序的输出结果是()。

2012年9月计算机等级考试二级C语言笔试真题及答案

2012年9月计算机等级考试二级C语言笔试真题及答案

2012年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题((1)~(10)、(21)~(40)每小题2分,(11)~(20)每题1分共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)下列链表中,其逻辑结构属于非线性结构的是A)双向链表B)带链的栈C)二叉链表D)循环链表(2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35,现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A)20 B)0或35 C)15 D)16(3)下列关于栈的叙述中,正确的是A)栈底元素一定是最先入栈的元素B)栈操作遵循先进后出的原则C)栈顶元素一定是最后入栈的元素D)以上三种说法都不对(4)在关系数据库中,用来表示实体间联系的是A)网状结构B)树状结构C)属性D)二维表(5)公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,则实体部门和职员间的联系是A)1:m联系B)m:n联系C)1:1联系D)m:1联系(6)有两个关系R和S 如下:则由关系R得到关系S的操作是A)自然连接B)并C)选择D)投影(7)数据字典(DD)所定义的对象都包含于A)软件结构图B)方框图 C)数据流图(DFD图)D)程序流程图(8)软件需求规格说明书的作用不包括A)软件设计的依据B)软件可行性研究的依据C)软件验收的依据D)用户与开发人员对软件要做什么的共同理解(9)下面属于黑盒测试方法的是A)边界值分析B)路径覆盖C)语句覆盖D)逻辑覆盖(10)下面不属于软件设计阶段任务的是A)制定软件确认测试计划B)数据库设计C)软件总体设计D)算法设计(11)以下叙述中正确的是BA)在C语言程序中,main函数必须放在其他函数的最前面B)每个后缀为.C的C语言源程序都可以单独进行编译C)在C语言程序中,只有main函数才可单独进行编译D)每个后缀为.C的C语言源程序都应该包含一个main函数(12)C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是AA)预定义标识符(如库函数中的函数名)可用作用标识符,但失去原有含义B)用户标识符可以由字母和数字任意顺序组成C)在标识符中大写字母和小写字母被认为是相同的字符D)关键字可用作用户标识符,但失去原有含义(13)以下选项中表示一个合法的常量是(说明:符号 表示空格)B A)9 9 9 B)0Xab C)123E0.2D)2.7e(14)C语言主要是借助以下哪个功能来实现程序模块化AA)定义函数B)定义常量和外部变量C)三种基本结构语句D)丰富的数据类型(15)以下叙述中错误的是CA)非零的数值型常量有正值和负值的区分B)常量是在程序运行过程中值不能被改变的量C)定义符号常量必须用类型名来设定常量的类型D)用符号名表示的常量叫符号常量(16)若有定义和语句:int a,b; scanf(“%d,%d”,&a,&b);以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是CA)3,5, B)3,5,4 C)3 ,5 D)3,5(17)C语言中char类型数据占字节数为CA)3 B)4 C)1 D)2(18)下列关系表达式中,结果为“假”的是BA)(3+4)>6 B)(3!=4)>2 C)3<=4||3 D)(3<4)==1(19)若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch 语句是DA)switch(a+9) B)switch a*b{ case c1:y=a-b; C1 C1 是变量{ case 10:x=a+b;case c2:y=a+b; default :y=a-b;} }C)switch(a+b) D)switch(a*a+b*b){ case1:case3:y=a+b;break { default: break;case0:case4:y=a-b; case 3: y=a+b;break;} case和数字没空格case 2: y=a-b;break;}(20)有以下程序#include<stdio.h>main(){ int a=-2,b=0;while(a++&&++b);printf("%d,%d\n",a,b);}程序运行后的输出结果是DA)1,3 B)0,2 C)0,3 D)1,2(21)设有定义:int x=0,*p; ,立刻执行以下语句,正确的语句是C A)p=x; B)*p=x; C)p=NULL; D)*p=NULL;(22)下列叙述中正确的是DA)可以用关系运算符比较字符串的大小B)空字符串不占用内存,其内存空间大小是0 \0C)两个连续的单引号是合法的字符常量D)两个连续的双引号是合法的字符串常量(23)有以下程序#include <stdio.h>main(){ char a='H';a=(a>='A'&&a<='Z')?(a-'A'+'a'):a;printf("%c\n",a);}程序运行后的输出结果是DA)A B)a C)H D)h(24)有以下程序#include <stdio.h>int f(int x);main(){ int a,b=0;for(a=0;a<3;a++){ b=b+f(a); putchar('A'+b); }}int f(int x){ return x*x+1; }程序运行后的输出结果是BA)ABE B)BDI C)BCF D)BCD(25)设有定义:int x[2][3];,则以下关于二维数组x的叙述错误的是D A)x[0]可看作是由3个整型元素组成的一维数组B)x[0]和x[1]是数组名,分别代表不同的地址常量C)数组x包含6个元素D)可以用语句x[0]=0;为数组所有元素赋初值0(26)设变量p是指针变量,语句p=NULL;是给指针变量赋NULL值,它等价于C A)p= ""; B)p= '0'; C)p=0; D)p= '';(27)有以下程序#include <stdio.h>main(){int a[]={10,20,30,40},*p=a,i;for(i=0;i<=3;i++){ a[i]=*p; p++; }printf("%d\n",a[2]);}程序运行后的输出结果是AA)30 B)40 C)10 D)20 (28)有以下程序#include <stdio.h>#define N 3void fun(int a[][N],int b[]){ int i,j;for(i=0;i<N;i++){ b[i]=a[i][0];for(j=i;j<N;j++)if(b[i]<a[i][j]) b[i]=a[i][j];}}main(){int x[N][N]={1,2,3,4,5,6,7,8,9},y[N],i;fun(x,y);for(i=0;i<N;i++) printf("%d,",y[i]);printf("\n");}程序运行后的输出结果是BA)2,4,8, B)3,6,9, C)3,5,7, D)1,3,5, (29)有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数)#include <stdio.h>#include <string.h>main(){ char a[10]="abc",b[10]="012",c[10]="xyz";strcpy(a+1,b+2);puts(strcat(a,c+1));}程序运行后的输出结果是cA)a12xyz B)12yz C)a2yz D)bc2yz (30)以下选项中,合法的是AA)char str3[]={'d', 'e', 'b', 'u', 'g', '\0', };B)char str4; str4="hello world";C)char name[10]; name="china";D)char str[5]= "pass",str2[6]; str2=str1;(31)有以下程序#include <stdio.h>main(){ char *s="12134"; int k=0,a=0;while(s[k+1]!='\0'){ k++;if(k%2==0){ a=a+(s[k]-'0'+1); continue; }a=a+(s[k]-'0');}printf("k=%d a=%d\n",k,a);}程序运行后的输出结果是CA)k=6 a=11 B)k=3 a=14 C)k=4 a=12 D)k=5 a=15 (32)有以下程序#include <stdio.h>main(){ char a[5][10]={"one","two","three","four","five"};int i,j; char t;for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(a[i][0]>a[j][0]){ t=a[i][0]; a[i][0]=a[j][0]; a[j][0]=t; }puts(a[1]);}程序运行后的输出结果是 A 置换排序A)fwo B)fix C)two D)owo(33)有以下程序#include <stdio.h>int a=1,b=2;void fun1(int a,int b){ printf("%d %d",a,b); }void fun2(){ a=3;b=4; }main(){ fun1(5,6);fun2();printf("%d %d\n",a,b);}程序运行后的输出结果是 B 全局变量一旦覆盖就没了A)1 2 5 6 B)5 6 3 4 C)5 6 1 2 D)3 4 5 6(34)有以下程序#include <stdio.h>void func(int n){ static int num=1;num=num+n; p rintf("%d",num)}main(){ func(3); func(4); printf("\n");}程序运行后的输出结果是AA)4 8 B)3 4 C)3 5 D)4 5(35)有以下程序#include <stdio.h>#include <stdlib.h>void fun(int *p1,int *p2,int *s){ s=(int*)malloc(sizeof(int));*s=*p1+*p2;free(s);}main(){ int a=1,b=40,*q=&a;fun(&a,&b,q);printf("%d\n",*q);}程序运行后的输出结果CA)42 B)0 C)1 D)41(36)有以下程序#include<stdio.h>struct STU{char name[9]; char sex; int score[2]; };void f(struct STU a[ ]){ struct STU b={"Zhao",'m',85,90};a[1]=b;}main(){ struct STU c[2]={{"Qian",'f',95,92},{"Sun",'m',98,99}};f(c);printf("%s,%c,%d,%d,",c[0].name,c[0].sex,c[0].score[0],c[0].score[1]);printf("%s,%c,%d,%d\n",c[1].name,c[1].sex,c[1].score[0],c[1].score[1]);}程序运行后的输出结果是DA)Zhao,m,85,90,Sun,m,98,99 B)Zhao,m,85,90,Qian,f,95,92 C)Qian,f,95,92,Sun,m,98,99 D)Qian,f,95,92,Zhao,m,85,90 (37)以下叙述中错误的是BA)可以用typedef说明的新类型名来定义变量B)typedef说明的新类型名必须使用大写字母,否则会出编译错误C)用typedef可以为基本数据类型说明一个新名称D)用typedef说明新类型的作用是用一个新的标识符来代表已存在的类型名(38)以下叙述中错误的是 AA)函数的返回值类型不能是结构体类型,只能是简单类型B)函数可以返回指向结构体变量的指针C)可以通过指向结构体变量的指针访问所指结构体变量的任何成员D)只要类型相同,结构体变量之间可以整体赋值(39)若有定义语句int b=2; 则表达式(b<<2)/(3||b)的值是A)4 B)8 C)0 D)2(40)有以下程序#include <stdio.h>main(){ FILE *fp; int i,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w+");for(i=0;i<6;i++) fprintf(fp,"%d\n",a[i]);rewind(fp);for(i=0;i<6;i++) fscanf(fp,"%d",&a[5-i]);fclose(fp);for(i=0;i<6;i++) printf("%d,",a[i]);}程序运行后的输出结果是DA)4,5,6,1,2,3, B)1,2,3,3,2,1, C)1,2,3,4,5,6, D)6,5,4,3,2,1, 二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

中国石油大学C语言考试题及答案

中国石油大学C语言考试题及答案

中国石油大学C语言考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable$2D. variable-2答案:B2. C语言中,以下哪个选项是正确的整型常量?A. 0x12B. 0.5C. 0.0e0D. 0L答案:A3. 在C语言中,哪个关键字用于定义一个函数?A. intB. returnC. functionD. void答案:A4. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. case答案:D5. C语言中,字符串的结束标志是什么?A. '\n'B. '\0'C. '\t'D. '\b'答案:B6. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][4];B. int array[][];C. int array[3][];D. int array[3][4][];答案:A7. C语言中,以下哪个选项是正确的函数声明?A. int add(int x, int y);B. int add(x, y);C. int add(int, int);D. int add(int x; int y);答案:A8. 在C语言中,哪个运算符用于取模运算?A. %B. //C. /D. \*答案:A9. 下列哪个选项是C语言中的合法浮点型常量?A. 3.14B. 3.14E2C. 3.14e-2D. All of the above答案:D10. C语言中,以下哪个选项是正确的结构体声明?A. struct Student { int age; char name[20]; };B. struct { int age; char name[20]; } Student;C. struct Student { int age; char name; };D. struct { int age; char name[20]; };答案:A二、填空题(每题2分,共20分)1. C语言中,用于输入的函数是________。

最新中国石油大学华东C语言习题答案

最新中国石油大学华东C语言习题答案

中国石油大学华东C 语言习题答案C语言复习题【设计型】5.1 输出一行星号编写程序在一行中输出 N 个星号。

输入: N值输出:一行中N个星号#include<stdio.h>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<stdio.h>int main(){int i,j,num;scanf("%d",&num);for(i=0;i<num;i++){for(j=0;j<num;j++)printf("*");printf("\n");}return 0;}【设计型】5.3 编程计算编写程序,输入n的值,求 :1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n (保留四位小数)#include<stdio.h>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<stdio.h>int main(){int n,a,b,i,temp;double sum;scanf("%d",&n);i=1,sum=0,a=2,b=1;while(i<=n){sum=sum+a*1.0/b;temp=a;a=a+b;b=temp;(几个式子实现数值的变换)i++;}printf("sum=%16.10f\n",sum);return 0;}【设计型】5.5 求e的值编写程序,从键盘输入整数 n , 求 e 的值 . e=1+1/1!+1/2!+1/3!+..+1/n! 注意:用 double 型数据计算输出语句:printf("sum=%16.10f\n",sum);#include<stdio.h>int main(){int n,i;double sum,jc;scanf("%d",&n);i=1,sum=1.0 jc=1.0;while(i<=n){jc=jc*i;sum=sum+1.0/jc;i++;}printf("sum=%16.10f\n",sum);return 0;}【设计型】5.6 最大公约数输入两个正整数m和n,求它们的最大公约数和最小公倍数比如,输入m和n的值分别为14和21,则最大公约数为7,最小公倍数为42。

2012年7月C语言试卷A

2012年7月C语言试卷A

青海大学试卷(A卷)系别:班级:学号:姓名:考试课程:程序设计基础(C)考试日期:2012 年7月06日注:所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回一.填空题(每空1分,共16分)1.整型静态数组没有初始化,也没有赋值,此时数组元素的值均为。

2.数组在内存中占的存储区,用代表其首地址。

3. 在函数内部定义的只在本函数内有效的变量叫,在函数以外定义的变量叫。

4.调用一个函数时,实参变量和形参变量之间的数据传递是;若用数组名作为实参,则实际上传递给形参的是。

5. 有这样的定义:static int a[5]={2,4,6,8,10};int *p;p=&a[0];则与p=&a[0]等价的语句,*(p+1)的值是,*(a+3)的值是。

6.有说明char s1[40],s2[20]= "you are a teacher.";如果想从键盘上把字符串"I am a student."输入到数组s1中,函数调用的语句是。

能把s2中的字符串接到s1中的字符串后面的函数调用的语句是。

7.C语言中逻辑运算符的优先级高于算术运算符。

8.在C语言中,声明枚举类型用关键字开头。

9.在C语言中,文件的存取是以为单位的,这种文件被称作文件。

二.选择题(每小题2分,共40分)1.可以在C语言中用做用户标识符的是()。

A.else B.a_b1C.for D.2cd 2.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是()。

A.1 B.2 C.2.0 D.2.53.以下程序的输出结果是()。

main( ){ int m=10;printf("%d,%d,%d",--m,++m,++m);}A.9,10,11 B.10,10,11 C.9,12,11 D.11,12,114.C语言中,逻辑"真"等价于()。

中国石油大学C语言考试题及答案

中国石油大学C语言考试题及答案

中国石油大学C语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的叙述中,正确的是()。

A. C语言是高级语言B. C语言是面向对象的编程语言C. C语言是汇编语言D. C语言是机器语言答案:A2. 在C语言中,int类型的变量占用的内存空间通常是()。

A. 1个字节B. 2个字节C. 4个字节D. 8个字节答案:C3. 下列哪个选项不是C语言中的关键字()。

A. ifB. elseC. switchD. then答案:D4. C语言中,用于定义数组的关键字是()。

A. intB. floatC. arrayD. struct答案:A5. 在C语言中,用于定义函数的关键字是()。

A. functionB. defC. defineD. void答案:D6. 下列哪个选项是C语言中的合法标识符()。

A. 2variableB. variable2C. variable$2D. variable_2答案:D7. C语言中,用于表示逻辑“与”操作的运算符是()。

A. ||B. &&C. andD. or答案:B8. 在C语言中,用于定义指针的关键字是()。

A. pointerB. ptrC. refD. *答案:D9. 下列哪个选项是C语言中的合法字符串字面量()。

A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A10. C语言中,用于表示逻辑“非”操作的运算符是()。

A. notB. !C. ~D. ^答案:B二、填空题(每题2分,共20分)1. 在C语言中,表示字符常量的数据类型是____。

答案:char2. C语言中,用于计算两个数的和的运算符是____。

答案:+3. 在C语言中,用于定义结构体的关键字是____。

答案:struct4. C语言中,用于定义枚举类型的关键字是____。

答案:enum5. C语言中,用于定义联合类型的关键字是____。

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

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

C语言_中国石油大学(华东)c语言上机题及答案大全1.1 Hello world.让我们用C语言向世界问好。

最早的程序基本是这个样子的:程序一:#includevoid main(){printf("Hello world.\");}程序二:#includeint main(){printf("Hello world.\");return 0;}上面的程序你任意模仿一个,看看是否可以通过?如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。

输入:无输出:Hello world.#includeint main(){printf("Hello world.\");}1.2 Welcome to Beijing.让我们来练习如何显示多行文字。

输入:无输出:就是下面的那段文字。

#includevoid main(){printf("Welcome\");printf("to\");printf("Beijing.\");}1.3 练习最简单的printf和scanfprintf函数和scanf函数是C语言中最常用的函数之一,下面让我们练习一下吧。

输入:整型变量x的值。

输出:输出整型变量x对应的十进制、八进制和十六进制形式。

认真观察-1的八进制和十六进制输出,请想想是为什么。

#includeint main(){int x;scanf("%d",&x);printf("x=%d,",x);printf("x=%o,",x);printf("x=%x\",x);return 0;}1.4 练习两个整数之间的运算背景:基本练习。

输入:接受两个整数,每个整数之间使用空格分隔。

例如输入格式为:123 444输出:分别输出进行+、-、*、/、*之后的运行结果。

石油大学C语言在线考试附答案

石油大学C语言在线考试附答案

《C语言》综合复习资料一、单选题1. C语言中基本数据类型有( )A)整型、实型、逻辑型B)整型、字符型、逻辑型C)整型、实型、字符型D)整型、实型、字符型、逻辑型2. 在C语言中,数字029是一个( )A)八进制数B)十进制数C)十六进制数D)非法数3. 在以下关于C语言的不严格的叙述中,错误的说法是( )A)在标识符中,大写字母和小些字母的意义相同B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义4. 已知int a=4,b=5; ,这执行表达式a=a>b 后,变量a的值为( )A)0 B)1 C) 4 D) 55. 设有定义int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是( )A)a&&b B)a<=b C)a||b+c&&b-c D)!((a<b)&&!c||1) 6. 以下不合法的赋值语句是( )A)x=(1,y=2); B)++x; C)x=y=15; D)y=int(x);7. 已定义c为字符型变量,则下列语句中正确的是( )A)c='97'; B)c="97"; C)c="a"; D)c=97;8. 能将高级语言编写的源程序转换为目标程序的软件是( )A)汇编程序B)编辑程序C)解释程序D)编译程序9. 设有定义char *p=“abcde\0fghjik\0”; 则p rintf(“%d\n”,strlen(p));输出结果是( )A) 12 B) 15 C) 6 D) 510.以下选项中合法的实型常数是( )A) 5E2.0 B) E-3 C) .2E0 D) 1.3E11.以下非法的赋值语句是( )A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0;12.已定义c为字符型变量,则下列正确的赋值语句是( )A)c='66'; B)c="66"; C)c="B"; D)c=66;13.设a=3,b=4,c=-5,则逻辑表达式:a || b+c&& b==c 的值是( )A)1 B)0 C)非0 D)语法错14.以下能正确定义数组并正确赋初值的语句是( )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}};15.结构化程序设计的三种基本结构是( )A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-while D)if、for、continue16.在一个C程序中( )A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置17.以下合法的字符常量是( )A)‘\084’B)‘ab’C)‘\x43’D)“\0”18.用8位无符号二进制数能表示的最大十进制数为( )A)127 B)128 C)255 D)25619.设有定义: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 D)0,2,020.设有int x=11;则表达式(x++*1/3)的值是( )A)3 B)4 C)11 D)1221.若有: int x=1,n=5; 则执行语句x%=(n%2)后,x的值为( )A)3 B)2 C)1 D)022.结构化程序的3种基本控制结构是( )A) if-else结构、while结构、for结构B) 顺序结构、分支机构、循环结构C) while结构、do-while结构、for结构D) 以上三种都不对23.下面程序段的输出结果是( )int k=11;printf(“%d,%o,%x”,k,k,k);A)11,12,11 B)11,13,13 C)11,013,0xb D)11,13,b24.在微型计算机系统中,存储一个汉字的国标码所需要的字节数是( )A) 1 B) 2 C) 3 D) 425.以下非法的赋值语句是( )A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0;26.语句:printf("%d",(a=2)&&(b=-2)); 的输出结果是( )A)无输出B)结果不确定C)1 D)227.设有定义语句:charstr[][20]={"Hello","Beijing"},*p=str; ( )则printf("%d\n",strlen(p+20)); 输出结果是A)0 B)5 C)7 D)2028.以下选项中,与k=++n完全等价的表达式是( )A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1二、读程序,写出程序执行结果1. #include <stdio.h>void main(){ int a=10,b=0;if(a==12){a++; b++; }else{ a=a+3 ; b=b+3;}printf(“%d,%d\n”,a,b);}2. #include <stdio.h>void main(){ ints,i;for(s=0,i=1;i<5;i++,s+=i) ;printf(“%d\n”,s);}3. #include “stdio.h”void main(){ char n=‘c’;switch(n++){ default: printf(“error!”); break;case ‘a’: case ‘A’:case ‘b’: case ‘B’: printf(“good!”);break; case ‘c’: case ‘C’: printf(“pass!”);case ‘d’: case ‘D’: printf(“warm!”);}}4. #include <stdio.h>void main(){ int k=4,n=0;for( ; n<k ; ){ n++;if(n%3!=0) continue;k- -;}printf("%d,%d\n",k,n);}5. #include <stdio.h>int f(int b[],intm,int n){ inti,s=0;for(i=m;i<=n;i+=2) s+=b[i];return s;}void main(){ intx,a[]={1,2,3,4,5,6,7,8,9,10};x=f(a,3,8);printf(“%d\n”,x);}6. #include <stdio.h>voidcopy_str(char from[ ],char to[ ]){ int k=0;while(from[k]!=‘\0’){ to[k]=from[k];k++;}to[k]=‘\0’;/*末尾加上串结束标志*/ }void main(){ char str1[80]=”red”,str2[80]=”green”;copy_str (str1,str2);puts(str2);}7. #include <stdio.h>int d=1;void fun(int p){ int d=5;d+=p++;printf(“%d”,d);}void main(){ int a=3;fun(a); d+=a++;printf("%d\n", d);}8.#include <stdio.h>void main(){ int i,j;for(i=0;i<3;i++){for(j=0;j<=i;j++)printf("*");printf("\n");}}9. #include <stdio.h>void main(){ inti;for (i=0; i<3; i++)switch (i){ case 1: printf("%d ", i);case 2: printf("%d ", i);default :printf("%d ", i);}}10.#include <stdio.h>intws(int x){ if(x/100>0)return(3);else if(x/10>0 )return(2);elsereturn(1);}void main(){ int a=123;printf("%d是%d位数\n",a,ws(a));}11. #include <stdio.h>#include <string.h>void main(){ char a[10]="abc";char b[]="defg";puts(a);puts(b);puts(strcat(a,b));}12.#include <stdio.h>void main(){ int i,n[]={1,2,3,4,5};for(i=0;i<2;i++){ n[i]=n[4-i]+1;printf("%d ",n[i]);}for(i=0;i<5;i++)printf("%d ",n[i]);}13.#include <stdio.h>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);}14.#include <stdio.h>voidcopy_str(char from[ ],char to[ ]){ int k=0;while(from[k]!= ‘\0’){ to[k]=from[k];k++;}to[k]=‘\0’;/*末尾加上串结束标志*/}void main(){ char str1[80]= "good",str2[80]= "abcdef";copy_str(str1,str2);puts(str2);}15. #include <stdio.h>void main(){ int a=0;a+=(a=8);printf(“%d\n”,a);}16. #include <stdio.h>void main(){ int x=4;if(x++>=5)printf(“%d\n”, x) ;elseprintf(“%d\n”, x--) ;}17. #include <stdio.h>#define MAX(a,b) (a>b ? a : b)+1void main(){ int i=6,j=8;printf(“%d\n”,MAX(i,j));}18.#include <stdio.h>void main(){ int i,j,m=0,n=0,k=0;for(i=6; i<=9;i++)for(j=2; j<=3;j++)switch(i%j ){ case 0: m++; break;case 1: n++; break;case 2: k++; break;default: k++;n++;m++;}printf("%d %d %d\n",m,n,k);}19. #include <stdio.h>void main(){ inti;for(i=1;i<5;i++){ if(i%2)putchar(‘<’);elsecontinue;putchar(‘>’);}putchar(‘#’);}20.#include <stdio.h>void main(){ int i,n[]={1,2,3,4,5};for(i=0;i<2;i++){ n[i]=n[4-i]+1;printf("%d ",n[i]);}for(i=0;i<5;i++){ printf("%d ",n[i]);}}21. #include <stdio.h>int m=13;int fun(int x,int y){ int m=3;return(x*y-m);}void main(){ int a=7, b=5;printf("%d\n", fun(a,b)/m);}22. #include <stdio.h>void main(){ int n=2;printf(“%d,%d,%d\n”, ++n , n+=2 , --n) ;}23. #include <stdio.h>void 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);}24. #include <stdio.h>void main(){ ints,t,a=-2,b=6;s=t=1;if(a>0) s=s+1;if(a>b) t=s+t;else if(a==b) t=5;else t=2*s;printf("t=%d ", t);}25. #include <stdio.h>#define S(a,b) (a)*(b)void main(){ int a=3 ,area;area=S(a,a+3) ;printf("area=%d\n",area);}26. #include <stdio.h>void main(){ inti=0,a=0;while(i<20 ){ for(;;)if((i%10)==0) break;elsei--;i+=11;a+=i;}printf("%d\n",a);}27. #include <stdio.h>void main(){ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0 ;for(i=0;i<4;i++) s+=aa[i][2];printf(“%d \n”,s);}28. #include <stdio.h>fun(int a, int b){ if(a>b) return(a);else return(b);}void main(){ int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf("%d\n", r);}三、编程题1. 设有分段函数:x (x <1)Y= 2x-1 (1≤x <10) 写一程序,输入 x ,输出 y 的值。

石大在线C语言综合复习题

石大在线C语言综合复习题

《C语言程序设计》综合练习题要求掌握的章节:第1章、第3章~第8章、第10章(前4节)、第11章(前6节)重点章节:第3章~第8章、第10章(前4节)难点章节:第8章、第10章(前4节)考试题型:①选择题(填空题)(20%)②读程序题(40%)③编程序题(40%)第1章C语言概述一、选择题1.能将高级语言编写的源程序转换为目标程序的软件是A)汇编程序B)编辑程序C)解释程序D)编译程序2.在一个C程序中A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置3.C语言中用于结构化程序设计的三种基本结构是A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-while D)if、for、continue4.C语言程序的基本单位是A) 函数B) 过程C) 子例程D) 子程序二、填空题1.C语言程序总是从main函数开始执行。

2.C语言是种面向面向过程的程序设计语言,其程序的基本单位是函数。

.3.C语言中的函数由函数首部、函数体两部分组成。

4.结构化程序设计中所规定的三种基本控制结构是顺序结构、选择结构和循环结构。

第3章数据类型、运算符与表达式一、选择题1.下列关于C语言用户标识符的叙述中正确的是A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.C语言中基本数据类型有A)整型、实型、逻辑型B)整型、字符型、逻辑型C)整型、实型、字符型D)整型、实型、字符型、逻辑型3.在计算机中,一个字节所包含二进制位的个数是A)2 B)4 C)8D)164.用8位无符号二进制数能表示的最大十进制数为A)127 B)128 C)255D)2565.在计算机系统中,存储一个汉字的国标码所需要的字节数为A) 1 B) 2C) 3 D) 46.在C语言中,char型数据在内存中的存储形式是A)原码B)补码C)反码D)ASCII码7.十六进制数100转换为十进制数为A)256B)512 C)1024 D)648.十六进制数7A转化成八进制数是A)123 B)122C)173 D)1729.十进制数32转化成十六进制数是A)20 B)ff C)10 D)2110.与十进制数511等值的十六进制数为A) 1FF B) 2FF C) 1FE D) 2FE11.以下选项中可作为C语言合法整数的是A)10110B B)0386 C)0Xffa D)x2a212.以下选项中合法的实型常数是A) 5E2.0B) E-3 C) .2E0 D) 1.3E13.依据C语言的语法规则,下列()是用户定义的合法标识符。

中国石油大学C语言程序设计第一册在线作业答案

中国石油大学C语言程序设计第一册在线作业答案

中国石油大学C语言程序设计第一册在线作业答案第一次在线作业单选题(共22道题)收起1.(2.5分)一个c语言程序总是从()开始执行。

a、a.主过程b、b.主函数c、c.子程序d、d.主程序我的答案:b此题得分:2.5分2.(2.5分后)以下描述不恰当的就是:()。

a、a.在c程序中,语句之间必须要用分号\分隔b、b.若a就是实型变量,c程序中a=10就是恰当的,因为实型变量中容许放置整型数c、c.在c程序中,无论是整数还是实数都能够恰当有误地则表示d、d.在c程序中,%就是就可以用作整数运算的运算符我的答案:c此题得分:2.5分3.(2.5分后)以下不恰当的c语言标识符就是()。

a、a.abcb、b.abcc、c.a_bcd、d.ab.c我的答案:d此题罚球:2.5分后4.(2.5分)下列字符串是标识符的是:()。

a、a._hjb、b.9_studentc、c.longd、d.line1我的答案:a此题罚球:2.5分后5.(2.5分)以下说法中正确的是()。

a、a.c语言程序总是从第一个定义的函数已经开始继续执行b、b.在c语言程序中,要调用的函数必须放在main()函数中定义c、c.c语言程序总是从main()函数开始执行d、d.c语言程序中的main()函数必须放到程序的已经开始部分我的答案:c此题得分:2.5分6.(2.5分后)在c语言中,字符型数据在内存中以()形式放置。

a、a.原码b、b.bcd码c、c.反码d、d.ascii码我的答案:d此题罚球:2.5分后7.(2.5分)若有定义:inta=7;floatx=2.5;y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。

a、a.2.500000b、b.2.750000c、c.3.500000d、d.0.000000我的答案:a此题得分:2.5分8.(2.5分)设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
int f(int b[], int m,int n)
{ int i,s=0;
for(i=m;i<n;i+=2) s+=b[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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
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<stdio.h>
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<stdio.h>
#include<conio.h>
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 <stdio.h>
#define N 11
void main()
{
int i,j,a[N][N]; /*数组为11行11列,0行0列不用*/
for(i=1;i<N;i++)
{
a[i][1]=1; /*使第1列元素的值为1*/
a[i][i]=1; /*使对角线元素的值为1*/
}
for(i=3;i<N;i++) /*从第3行开始处理*/
for(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;i<N;i++) /*输出数组各元素的值*/
{for(j=1;j<=i;j++)
printf(“%6d”,a[i][j]);
printf(“\n”);
}
printf(“\n”);
}
满分答案请自己付出努力下周公布在百度文库中。

相关文档
最新文档