中国石油大学华东现代远程教育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。

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

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

1.1 Hello world.让我们用C语言向世界问好。

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

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

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

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

输入:整型变量x的值。

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

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

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

石油大学华东C语言在线考试

石油大学华东C语言在线考试

窗体顶端设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“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)); 输出结果是()∙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∙D)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∙D)有错误窗体顶端7(2.0分)? ?设有语句:float x=1,y; y=x 3/2; 则y的值是()∙A)1∙B)2∙C)2.0∙D)2.5窗体顶端8(2.0分)? ?若有如下语句: int *p1,*p2; 则其中int所指的是()∙A)p1的类型∙B)*p1和*p2的类型∙C)p2的类型∙D)p1和p2所能指向变量的类型窗体顶端9(2.0分)设有语句:int x=10;x = x -= x - x;,则执行语句后,x的值为()∙A)30∙B)20∙C)10∙D)40窗体顶端10(2.0分)? ?设有如下定义和执行语句,其输出结果为()int a=3,b=3; a = --b + 1;printf(“%d %d”,a,b);∙A)3 2∙B)4 2∙C)2 2∙D)窗体顶端11(2.0分)C语言中基本数据类型有()∙A)整型、实型、逻辑型∙B)整型、字符型、逻辑型∙C)整型、实型、字符型∙D)整型、实型、字符型、逻辑型窗体顶端12(2.0分)表示x≤0或x≥1的正确的表达式是()∙A)x>=1||x<=0∙B)x>1 || x<=0∙C)x>=1 or x<=0∙D)x>=1 || x<0窗体顶端13(2.0分)若有定义:int a[5];则a数组中首元素的地址可以表示为()∙A)&a∙B)∙C)a∙D)&a[1]窗体顶端14(2.0分)结构化程序设计的三种基本结构是()∙A)顺序结构、选择结构、循环结构∙B)if、switch、break∙C)for、while、do-while∙D)if、for、continue窗体顶端15(2.0分)若二维数组a有m列,则a[I][j]元素前的数组元素个数为()∙A)j*m i∙B)i*m j∙C)i*m j-113∙D)i*m j 1窗体顶端16(2.0分)能将高级语言编写的源程序转换为目标程序的软件是()∙A)汇编程序∙B)编辑程序∙C)解释程序∙D)编译程序窗体顶端17(2.0分)计算表达式(x=4*5,x*5),x 25的值是()∙A)20∙B)125∙C)100∙D)45窗体顶端18(2.0分)如有以下变量定义:int a=5,b=6,c=12;那么下列表达式结果为真的是()∙A)a-b∙B)a>b∙C)b/c∙D)c%b19(2.0分)从变量的作用域来分,可分为全局变量和局部变量,形参是()∙A)局部变量∙B)全局变量∙C)静态变量∙D)动态变量窗体顶端20(2.0分)初始化多维数组的语句中,可以默认的是()∙A)最后一个下标界∙B)第1个下标界∙C)第2个下标界∙D)以上都不对窗体顶端21(5.0)#include <stdio.h>?#define S(x) x*x?? void main()?{ int a,k=3,m=1;??a=S(k+m);?? ?printf("%d",a);? }字体字号7点击保存窗体顶端22(5.0)#include <stdio.h>?void main()?{ int x=12,y=0;? if(x>=0)?? { if(x>0) y=10;}?? else y=-10;?? printf(“y=%d\n”,y);?}字体字号点击保存窗体顶端23(5.0)#include <stdio.h>?void main()?{ int a=4,x=3,y=2,z=1;?printf("%d\n",(a<x ? a : z<y ? z : x));?}字体字号1点击保存窗体顶端24(5.0)#include <stdio.h>?int 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);?}字体12点击保存窗体顶端25(5.0)#include <stdio.h>?void main()?{ int k=1;?? switch(k)?? { case 0: printf("A");?break;? ? case 1: printf("B");?? ? case 2: printf("I");?? ? case 3: printf("G");?break;?? ? default: printf("E");?? ? }?}字体字号BIG点击保存窗体顶端26(5.0)#include <stdio.h>?int fun(char *s1,char *s2)? { int i=0;? while(s1[i]==s2[i] && s2[i]!='\0') i++;? return (s1[i]=='\0' && s2[i]=='\0');?? ?}?void main()?? ? { char p[10]= "abcdef", q[10]= "ABCDEF";?? ? ? printf("%d\n",fun(p,q));? ? ?}字体字号点击保存窗体顶端27(10.0)写一个判断素数的函数。

中国石油大学(华东)大一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语言)》网课测试题答案1

中国石油大学(华东)智慧树知到“计算机科学与技术”《程序设计(C语言)》网课测试题答案1

中国石油大学(华东)智慧树知到“计算机科学与技术”《程序设计(C语言)》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.下列描述中不正确的是()A.字符型数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值2.在执行int a[ ][3]={{1,2},{3,4}}; 语句后a[1][2]的值是()A.3B.4C.0D.23.执行下面程序,输出的结果为()A.4,3,2B.3,3,2C.3,3,3D.3,2,24.若有说明语句:char c=‘\64’; 则变量C包含:()A.1个字符B.2个字符C.3个字符D.说明不合法,C值不确定5.用数组名作为函数调用时的实参,则实际传递给形参的是()A.数组的第一个元素值B.数组中全部元素值C.数组的首地址D.数组的元素个数6.以下选项中非法的表达式是()A.(a+2)++B.i=j==1C.(char)(65+10)D.x=x-17.已知:int a[ ][3]={1,2,3,4,5,6,7,8,9,0}; 则数组a的第一维的大小是()A.2B.3C.4D.无法确定;8.在“while(!a)”中,其中“!a”与表达式()等价。

A.a==0B.a==1C.a!=1D.a!=09.在C语言中,字符型数据在内存中的存储形式是()A.原码B.补码C.反码D.ASCII码10.以下选项中合法的用户标识是()A.longB._2TestC.3DmaxD.A.dat11.若有说明:char s1='\067', s2='1'; 则变量s1,s2在内存中各占的字节数是()A.1,1B.4,1C.3,1D.1,212.已知:int a[ ][3]={1,2,3,4,5,6,7,8,9,0}; 则数组a的第一维的大小是()A.2B.3C.4D.无法确定13.以下能正确定义数组并正确赋初值的语句是()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}};14.下面有关for循环的正确描述是()A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来15.已知char b[5], *p=b; ,则正确的赋值语句是()A.b=“abcd”;B.*b=“abcd”;C.p=“abcd”;D.*p=“abcd”;第2卷一.综合考核(共15题)1.已知int a=4,b=5;,这执行表达式a=a>b后,变量a的值为()A.0B.1C.4D.52.以下程序中,while循环的循环次数是() main() { int i=0; while(iA.1 B.10C.6D.死循环,不能确定次数3.以下关于数组的描述正确的是()A.数组大小固定,但是可以有不同类型的数组元素B.数组大小可变,但是所有数组元素的类型必须相同C.数组大小固定,所有元素的类型必须相同D.数组大小可变,可以有不同类型的数组元素4.执行下面程序,输出的结果为()A.4,3,2B.3,3,2C.3,3,3D.3,2,25.在微型计算机系统中,存储一个汉字的国标码所需要的字节数是()A.1B.2C.3D.46.已定义c为字符型变量,则下列语句中正确的赋值语句是()A.c='66';B.c="66"C.c=66;D.c="B"7.已知char ch=‘A’,且表达式:ch=(ch>=‘A’ && chA.AB.aC.zD.Z8.在计算机中,C语言是属于()A.机器语言B.高级语言C.汇编语言D.自然语言9.在C语言中,下列变量名称中合法的是()A.7xB.intC.ELseD.a-b10.下面不是C语言基本数据类型的是()A.指针类型B.整型C.无符号长整型D.单精度型11.执行下面程序,输出的结果为()A.4,3,2B.3,3,2C.3,3,3D.3,2,212.若有说明:char s1=067, s2=1; 则变量s1,s2在内存中各占的字节数是()A.1,1B.4,1C.3,1D.1,2 13.若有说明语句:char c=‘\64’;则变量C包含:()A.1个字符B.2个字符C.3个字符D.说明不合法,C值不确定14.以下非法的赋值语句是()A.n=(i=2, i++);B.j++;C.++(I+1);D.x=j>0;15.执行int j, i=1; j=-i; 后j的值是()A.-1B.-2C.1D.2第1卷参考答案一.综合考核1.参考答案:C2.参考答案:C3.参考答案:A4.参考答案:A5.参考答案:C6.参考答案:A7.参考答案:C8.参考答案:D9.参考答案:D10.参考答案:B11.参考答案:A12.参考答案:C13.参考答案:D14.参考答案:D15.参考答案:C第2卷参考答案一.综合考核1.参考答案:A2.参考答案:D3.参考答案:C4.参考答案:A5.参考答案:B6.参考答案:C7.参考答案:B8.参考答案:B9.参考答案:C10.参考答案:A11.参考答案:A12.参考答案:A 13.参考答案:A14.参考答案:C15.参考答案:A。

中国石油大学华东C语言谜底全集

中国石油大学华东C语言谜底全集
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;
【设计型】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",&i++) {
2.社会主义本质理论对探索怎样建设3.社19会57主年义2月具,有毛重在要《的关实于践正意确义处。理社人会民主内义2.社部本科会矛质学主盾理的义的论1本本问的.邓质质题提小是的》出平创科讲,提新学话为出,内中我“创涵提们社邓新。出寻始会小的邓(找终主平关小1一代义)坚键平种表的我2持在对能.1中本国把科人社9够国质社5发学才会从4先,会展社年,主更进是主作会,人义深生解义为主毛才本层产放制执义在的质次1力生度政理《成所.认社1的产还兴论论长作.识会 发发力刚国和十靠的社主 展展,刚的实大教概会义 才要发建第践关坚育括主本 是求展立一的系2持。,义质 硬、,生,要基》以人一,理 道发大产还务本重发才方从论 理展力力没是成要展资面而把 ,才促,有由果讲社的源强为我 把是进消完中,话会办是调中四们 发(硬先灭全国抓中主法第必国、对 展2道进剥建共住提三义解一)须的科社 生理生削立产“出、经决资采解社学会 产,产,党什(代济前源取放会技主 力是力消还的么1表基进。从和主术义 作)对的除不执是中础科低发义是1的 为吧社3发两完政社9国基的学级展.建第发认 社二国5会展极全地会先本问技到6生设一展识 会、内主,年分巩位主进建题术高产在生才提 主发外义是底化固所义生立,实级力改产是高 义1展一时中我,的决邓产的是力9,革力硬到 建是切间5国最思定怎小力同实和国另3开道了 设党积经共对终想年的样平的时行国家一放理一 的执极验产农达。1,建一发,改民资方中2,个 根政因教党业到(是设月再展我革教本面探是新 本兴素训站、共2对社,强要国开育主指索)适的 任国都的在手一同执会毛调求的放水义出出第创应科 务在的调深时工、富1政主泽,政以平的4了一三造.时学 ,社第动刻坚代.业发裕规义东中一治来,过2解条节性代水 符会一起总持前.和展。律”关社 国个领我始度放发、地主平 合阶要来结社列资才”认这于会 社公域们终形和展社提题。 马级务为。会,本是1识个总主 会有也党是式发更会9出变社 克二关中主保硬的根8路义 主制发的衡。展快主了化会 思6、系国义持道3深本线基 义占生一年量所生、义社.的主社发解用工现理化问的本 基主了条,综谓产人的会需义会生决和业金商,题1完制 本体重主邓合国力民根主要本 基.主变事所平化向业1也,整度 制,大要小国家的享本9义。质 本义化业有方建的是深5的度一变经平力资手受社任理 原6本的服问法设根社对刻表确 的个化验年提和本段到会 1务论 理第质同务题进与本会一党揭.述立 确共,。出社主社和社主基的 ,二理时的行社体主、实示:, 立同确苏“会义会目会3义本提 是节论,基关改会现义社现了.从为 ,富立共社文,社主的主一改矛出 巩、的我本键造主和改会其社中当 使裕了二会明就会义。义、造盾, 固对重国方是。义根造之所会华代 占,中十主程是主基建中的和为 和第社要针这改本基一承主人中 世这国大义度在义本设国基两进 发一会意。靠不造要本本担义民国 界是共以财的国基制内成特本类一 展节主义的(自仅同求完质的本共一 人我产后富重家本度涵果色完矛步 社、义主2己保时。成理历质和切 口们党毛属要直)制的包最伴社成盾推 会中本要的证并,论史,国发 四必领泽于标接正度确括大随会,的进 主国质矛发了举标第的这成展 分须导东人志控确的立(,着主是学改 义特理盾展2社。志五提需是立进 之坚的提民。制处确是1.能社义我说采革 制色论也。会实着章)出要对,步 一持人出,和理立中够会建国,取开 度社的发的践中把。马到奠 的民要社支经,国社充经设强积放 的会提生稳证国解克社定 东民“会配济是历会分济道调极和 必主出了定明历放思会了 方主以下建4广史主体制路要引社 然义变,.史和主主把制 大专苏义的设大上义现度初严导会 要二建化而党上发义义对度 国政为的资和劳最的出和步经格、主 求设。且坚长展的改企基 进党的鉴致本社动深本对社探济区逐义 。确道人极持达生重造业础 入在根社”富主会人刻质资会索结分步现立路民大社数产大基的。 了过本会,是义发民最和本经的构过代社的对的会千力逐发本改社渡原主探全经展真伟根主济理发正渡化会初于促主年概步展完造会时则义索民济中正大本义结论生确的建新主步经进义的括实,成和主期。基自共的成任优构成了处方设中义探济了改阶为现对,对义总本己同国一为社务越的果根理式提国基索文社造级国于这人制 社路政的致家系国会性根本两。供的本化会与剥家建是的度 会线治道富资列家变的一本变类中了成制迅主社削的设一改的 ,第制路。本重的革道、变化不国强立度速义会制社中个造建 这三主度。社大主,路社化,同这大,的发事主度的会国过结立 是节要。会义关人也,1会社性场的标重展业义的本主特.渡合极 世、内人主有系解和是奠主我会质巨思志大的的工结(质义色时起大 界社容民义初。决社2定义国主的大想着意需发业束30。工社期来地 社(会被民原级了会)世了基社义矛而武我义要展化,(业会。,提 会2主概则和3在生把纪理本会经盾深器国同),同实2化主党把高 主对义括专,高一产资中)论制的济,刻。新经遵改总时现新是义在对了 义手制为政第级个资本国强基度阶成在特的通民济循革之并了民党具这资工 运二七度“实一形以料主又调础的级分新别社过主文自4过,举由主在有个本人 动、届 业在一质是式农的.(义一消,初关已民是它会(没主化愿于和的新主过重过主阶 史新社二 的中化上发之民主1工次灭开步系占主要是变4收义不互集平方民()义渡大渡义级 上民会中 社国三已展)分为人商划剥阔确也绝主正中革官能利中改针主3用社时的时工和 又主全 会的改成生坚。主)业时削了立发对义确国,僚命满、的造,主和会期理期商广 一主义会确”为产持初题正者代,广2生优革处革不资阶足典计解对义平的论.的业大 个义改提立。无,积级资的确改的消阔了势命理命仅√本段人型划决于向赎五总和总搞劳 历革造出 改“产第极形本、分造历除前根,理人的没中而民示体了在社3买种路实路糟动 史命的使 造一阶二领式主落(.析成史两景本社论民具有国形基需党范制诸深会的经线践线成人 性理历中 ,化级是导的义后1农为巨极。√的会内体对革成本要的和如刻主)方济的意和为民 的论史国 党”专共、工的村自变分邓中主指部实生命的结建国初实的义积法成主义总自的 伟是经“ 和即政同稳家商半的食。化小国义导矛际产在走社束状设家步现社的极改分体。任食积 大以验稳 政社;致步资业殖阶其们平社革。公下盾出力一农会和况。帮构社会转引造—。务其极 胜一毛步 府会人富前本的民级力吐对1会命有,。发的个村主社之加助想会变导资—要.,力性 利、泽地 采主民。进农社地和的出社第必制中(,发以包义会间强的,变革农本社从是的和 。适东由 取义代”的业会半阶社了会二须已国3不展农围的主党原要革中社民主会根)要社创合为农 了工表这方是、主封层会最主节级走成共拘造民城国义矛的则求与保会组义主本从在会造中主业 积大段针国手义建状主终义、构农为产泥成为市营改盾建,2中经持主织工义上全一主性国要极化会话,家工改的.况义达本社成村我党武于破主、经造,设以央济社义起商性改体个义。特代转 领,制成采对业造东,劳到质会主包国领装已坏体武济阶成,互向发会基来业中质变人相劳点表变 导“度为取私的方制动共所主要围社导斗有,的装段为(助地展稳本,。国的中民当动的为 ,三、社循营社大定者同作义有城会中争的而半夺掌我1合方,定制走共国出长者社中工 稳改会序)会国正。富的改工市国。现且殖取握开国作分和,度互产营贫发的。会国业 步”主渐商必主里逐确裕理造人、经武成促民政了始社的权平促在助3党经穷,时主共国 前即义进业须义步的这论二道阶武济民.装结进半权主。会优和新过进我合领济落“期义产, 进对本的实把改行形阶一概、路级装基取斗论了封的要从越扩民渡生国作��

最新中国石油大学华东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。

中国石油大学华东2013C语言答案之函数

中国石油大学华东2013C语言答案之函数

第九章函数9.1#include <stdio.h>int fun(int x,int y);int main(){int a,b,c;scanf("%d%d",&a,&b);c=fun(a,b);printf("c=%d\n",c);return 0;}int fun(int x,int y){int m,n,k,l,ch;m=x%10;n=x/10;k=y%10;l=y/10;ch=1000*m+100*k+10*n+l;return ch;}9.2#include <stdio.h>int fun(int x);int main(){int a;scanf("%d",&a);if(fun(a)) printf("Prime\n");else printf("Non Prime\n");return 0;}int fun(int x){int a;for(a=2;a<x;a++){if(x%a==0)return 0;}if(a>=x)return 1;}9.3#include <stdio.h>int fun(double y,int m);int main(){double x;int n;scanf("%lf%d",&x,&n);printf("%lf\n",fun(x,n));return 0;}double fun(double y,int m) {int i,j=1;double k=1;float s=1;for(i=1;i<=m;i++){ k=k*y;j=j*i;s=s+k/j;}return s;}9.4#include <stdio.h>void fun(int m,int n,int zz[]); int main(){int m,n,zz[1000];scanf("%d%d",&m,&n);fun(m,n,zz);for(m=0;m<n;m++)printf("%6d",zz[m]);printf("\n");return 0;}void fun(int m,int n,int zz[]) {int i,j=0,k;for(i=m+1;j<n;i++){ for(k=2;k<=i/2;k++){ if(i%k==0)break;}if(k>i/2){ zz[j]=i;j++;}}}9.5#include <stdio.h>void fun(char str[],char ch); int main(){char str[80];char ch;gets(str);scanf("%c",&ch);fun(str,ch);printf("%s\n",str);return 0;}void fun(char str[],char ch) {int i,j=0;for(i=0;str[i]!='\0';i++){ if(str[i]==ch){for(j=i;str[j]!='\0';j++)str[j]=str[j+1];i--;}}}9.6#include <stdio.h>int fun(int x,int y);int main(){int m,n,s;scanf("%d%d",&n,&m);s=fun(n,m);printf("%d\n",s);return 0;}int fun(int x,int y){int m;if(x<=y)m=y+fun(x,y-1);elsem=0;return m;}9.7#include <stdio.h>int GCD(int x,int y);int main(){int n,m;scanf("%d%d",&n,&m);printf("%d\n",GCD(n,m));return 0;}int GCD(int x,int y){int m,a;if(y<=x&&x%y==0)m=y;if(y<=x&&x%y!=0){ a=x%y;m=GCD(y,a);}if(y>x&&y%x==0)m=x;if(y>x&&y%x!=0){ a=y%x;m=GCD(a,x);}return m;}9.8#include <stdio.h>int fun(int x);int main(){int n;scanf("%d",&n);printf("%d\n",fun(n));return 0;}int fun(int x){int m;if(x==1||x==2)m=1;if(x>2){ if(x%2==1)m=fun(x-1)+fun(x-2);if(x%2==0)m=fun(x-1)-fun(x-2);}return m;}9.9#include <stdio.h>void fun(int x);int main(){int a,m[100],i;scanf("%d",&a);m[0]=a;for(i=1;m[i-1]!=0;i++)scanf(" %d",&m[i]);for(i=0;m[i]!=0;i++){ if(m[i]%2==1)printf("%d is odd number!\n",m[i]);if(m[i]%2==0)fun(m[i]);}}void fun(int x){int i,n,j,k;for(i=2;;i++){ n=x-i;for(k=2;k<=i/2;k++){{if(i%k==0)break;}if(k>i/2)break;}for(j=2;j<=n/2;j++){ if(n%j==0)break;}if(j>n/2)break;}printf("%d=%d+%d\n",x,i,n); }9.10#include <stdio.h>#include <math.h>double fun(double x);int main( ){ double a;scanf ( "%lf", &a );printf ( "%lf\n", fun ( a ) );return 0;}double fun(double x){int m;double n;m=(int)(x*100+0.5);n=m/100.0;return n;}9.11#include <stdio.h>int fun(int x);int main(){int n;scanf("%d",&n);printf("The result is: %d\n",fun(n));return 0;}int fun(int x){int m[100],i,y=0,j;for(i=0;x!=0;i++){ m[i]=x%10;x=x/10;}for(j=i-1;j>=0;j--){ if(m[j]%2==0)y=y*10+m[j];}return y;}9.12#include <stdio.h>double fun(int x);int main(){int n;double s;scanf("%d",&n);s=fun(n);printf("s=%f\n",s);return 0;}double fun(int x){int i,m=1;double y=1;for(i=1;i<=x;i++){m=m*i;y=y+1.0/m;}return y;}9.13#include <stdio.h>int Deposit(int x);int Withdraw(int x,int y);int main(){int n,i,day;int amount,dpt,wd;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&amount);for(day=1;;day++){dpt=Deposit(day);wd=Withdraw(day,amount);if(dpt-wd>0){printf("%d天骗取现金%d元\n",day,dpt-wd);break;}}}return 0;}int Deposit(int x){int m=1,i,n;if(x==1)m=1;if(x>1){ n=1;for(i=2;i<=x;i++){ n=2*n;m=m+n;}}return m;}int Withdraw(int x,int y){int m;m=x*y;return m;}9.14#include <stdio.h>void fun(char m[]);int main(){char s[80];gets(s);fun(s);puts(s);return 0;}void fun(char s[]){char M[80],N[80];int i,j=0,k=0;for(i=0;s[i]!='\0';i++){ if(s[i]>='0'&&s[i]<='9'){{ M[j]=s[i];j++;}M[j]='\0';}else{{ N[k]=s[i];k++;}N[k]='\0';}}for(i=0;N[i]!='\0';i++)s[i]=N[i];for(j=i,k=0;M[k]!='\0';j++,k++)s[j]=M[k];s[j]='\0';}9.15#include <stdio.h>#define M 3#define N 4void fun(int x[M][N]);int main(){int x[M][N],i,j;for(i=0; i<M; i++)for(j=0; j<N; j++)scanf("%d",&x[i][j]);fun(x);return 0;}void fun(int x[M][N]){int i,j,k,tag1,tag2,tag3=0;for(i=0;i<M;i++){ tag1=0;tag2=0;for(j=0;j<N;j++)if(x[i][tag1]<x[i][j])tag1=j;for(k=0;k<M;k++){ if(k!=i)if(x[i][tag1]<x[k][tag1])tag2++;}if(tag2==2){ printf("find:x[%d][%d]=%d\n",i,tag1,x[i][tag1]);tag3=1;}}if(tag3==0)printf("not find!\n");}。

中国石油大学(华东)C语言在线测评答案 第10章字符串(2013级亲测正确)

中国石油大学(华东)C语言在线测评答案 第10章字符串(2013级亲测正确)

10.1 字符转换描述提取一个字符串中的所有数字字符(‘0’...‘9’)将其转换为一个整数输出。

输入一个以回车符为结束标志的字符串(少于80个字符)。

输出把字符串中的所有数字字符(‘0’...‘9’)转换为一个整数并输出。

#include<stdio.h>#include<string.h>int main(){char s[80];int i,k,n=0;gets(s);k=strlen(s);for(i=0;i<k;i++)if(s[i]>='0'&&s[i]<='9')n=n*10+(s[i]-'0');printf("%d\n",n);return 0;}10.2 合并字符串输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到大排列。

输入:两个已经排好顺序(升序)的字符串输出:一个合并在一起的有序(升序)的字符串要求:设计一个效率尽量高的算法,对每个字符串只扫描一遍就可以了。

如果采用先进行串连接,然后再进行排序的算法,则效率太低了。

#include<stdio.h>#include<string.h>int main(){char a[100],b[100],t;int k,i,j;gets(a); gets(b);strcat(a,b);k=strlen(a);/*冒泡法排序*/for(i=1;i<k;i++) /*不能用字符串数组最后一项'\0'和前面项比较,故i从1开始*/ for(j=0;j<k-i;j++)if(a[j]>a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1]=t; }puts(a);return 0;}10.3 删除重复字符背景:输入一个长度不超过 100 的字符串,删除串中的重复字符。

2022年中国石油大学(华东)公共课《C语言》科目期末试卷A(有答案)

2022年中国石油大学(华东)公共课《C语言》科目期末试卷A(有答案)

2022年中国石油大学(华东)公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:unsigned a=16;printf("%d,%d,%d\n",a>>2,a=a>>2,a);以上程序段的输出结果是_______。

2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、结构化程序由________、________ 、________ 3种基本结构组成。

4、若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式.pow (y,fabs(x))的值为_______5、若有定义语句:ints=6;则表达式s%2+(s+1)%2的值为_______6、定义语句int*f();int(*f)();的含义分别为_______和_______。

7、下面程序段中循环体的执行次数是_______。

a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。

例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。

请填空。

_______;a=b;b=c;_______;9、设有如下结构体说明:{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。

_______10、下面程序wdm的运行结果是_______。

int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);二、选择题11、设有说明语句:char w;intx;float y;double z;则表达式w*x+z-y值的数据类型为()。

中国石油大学(华东)《程序设计(C语言)》2020年秋季学期在线作业(三)附参考答案

中国石油大学(华东)《程序设计(C语言)》2020年秋季学期在线作业(三)附参考答案
19.初始化多维数组的语句中,可以默认的是( )
A.最后一个下标界
B.第1个下标界
C.第2个下标界
D.以上都不对
答案:B
20.以下关于数组的描述正确的是( )
A.数组大小固定,但是可以有不同类型的数组元素
B.数组大小可变,但是所有数组元素的类型必须相同
C.数组大小固定,所有元素的类型必须相同
D.数组大小可变,可以有不同类型的数组元素
D.int d[3][2]={{1,2},{34}};
答案:D
7.以下选项中非法的表达式是( )
A.(a+2)++
B.i=j==1
C.(char)(65+10)
D.x=x-1
答案:A
8.在“while(!a)”中,其中“!a”与表达式( )等价。
A.a= =0
B.a= =1
C.a!=1
D.a!=0
答案:D
中国石油大学(华东)《程序设计(
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.设有定义: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,0
答案:D
2.以下选项中合法的用户标识是( )
答案:C
C.当表达式的值为1时
D.当表达式的值非0时
答案:A
15.在一个C程序中( )
A.main函数必须出现在所有函数之前
B.main函数可以在任何地方出现
C.main函数必须出现在所有函数之后
D.main函数必须出现在固定位置

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

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

5.1 计算并输出两个整数的最大值#include <stdio.h>int main(){int data1,data2;char op;scanf("%d%c%d",&data1,&op,&data2);switch(op){case'+':printf("%d+%d=%d\n",data1,data2,data1+data2); break;case'-':printf("%d-%d=%d\n",data1,data2,data1-data2); break;case'*':printf("%d*%d=%d\n",data1,data2,data1*data2); break;case'/':if(0==data2)printf("Division by zero!\n");elseprintf("%d/%d=%d\n",data1,data2,data1/data2);}return 0;}5.3 百分制转化为五分制问题描述:从键盘输入一个百分制成绩(0~100)n,编程计算并输出其对应的五分制成绩('A'~'E')。

输入:整数n 输出: n及其对应的五分制成绩#include <stdio.h>int main(){int a,t;scanf("%d",&a);if(a<0||a>100)printf("Input error!\n");else{if(a>=90)t=1;else if(a>=80&&a<90)t=2;else if(a>=70&&a<80)t=3;else if(a>=60&&a<70)t=4;elset=5;switch(t){case 1:printf("%d--A\n",a); break;case 2:printf("%d--B\n",a); break;case 3:printf("%d--C\n",a); break;case 4:printf("%d--D\n",a); break;case 5:printf("%d--E\n",a); break;}}return 0;}5.4 绝对值问题描述:输入一个实数,不使用绝对值函数计算并输出该实数的绝对值。

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输出:分别输出进行+、-、*、/、*之后的运行结果。

2022中国石油大学(华东)第二学期期末试题《C语言》综合复习

2022中国石油大学(华东)第二学期期末试题《C语言》综合复习

2022中国石油大学(华东)第二学期期末试题《C语言》综合复习一、单选题C1.C语言中基本数据类型有A)整型、实型、逻辑型B)整型、字符型、逻辑型C)整型、实型、字符型D)整型、实型、字符型、逻辑型D2.在C语言中,数字029是一个A)八进制数B)十进制数C)十六进制数D)非法数A3.在以下关于C语言的不严格的叙述中,错误的说法是A)在标识符中,大写字母和小些字母的意义相同B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义A4.已知inta=4,b=5;,这执行表达式a=a>b后,变量a的值为A)0B)1C)4D)5D5.设有定义inta=3,b=4,c=5;,则以下表达式中,值为0的表达式是A)a&&bB)a<=bC)a||b+c&&b-cD)!((aA)某=(1,y=2);B)++某;C)某=y=15;D)y=int(某);D7.已定义c为字符型变量,则下列语句中正确的是A)c='97';B)c=\)c=\)c=97;D8.能将高级语言编写的源程序转换为目标程序的软件是A)汇编程序B)编辑程序C)解释程序D)编译程序D9.设有定义char某p=“abcde\\0fghjik\\0”;则printf(“%d\\n”,trlen(p));输出结果是A)12B)15C)6D)5C10.以下选项中合法的实型常数是A)5E2.0B)E-3C).2E0D)1.3EC11.以下非法的赋值语句是A)n=(i=2,++i);B)j++;C)++(i+1);D)某=j>0;D12.已定义c为字符型变量,则下列正确的赋值语句是A)c='66';B)c=\)c=\)c=66;A13.设a=3,b=4,c=-5,则逻辑表达式:a||b+c&&b==c的值是A)1B)0C)非0D)语法错C14.以下能正确定义数组并正确赋初值的语句是A)intN=5,b[N][N];B)inta[1][2]={{1},{3}};C)intc[2][]={{1,2},{3,4}};D)intd[3][2]={{1,2},{34}};A15.结构化程序设计的三种基本结构是A)顺序结构、选择结构、循环结构B)if、witch、breakC)for、while、do-whileD)if、for、continueB16.在一个C程序中A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置C17.以下合法的字符常量是A)‘\\084’B)‘ab’C)‘\\某43’C18.用8位无符号二进制数能表示的最大十进制数为A)127B)128C)255D)256D19.设有定义:int某=0,y=1,z=1;则运行表达式:某=y++>z--后,某,y,z的值分别是A)1,1,1B)1,2,0C)0,1,1D)0,2,0A20.设有int某=11;则表达式(某++某1/3)的值是A)3B)4C)11D)12D21.若有:int某=1,n=5;则执行语句某%=(n%2)后,某的值为A)3B)2C)1D)0B22.结构化程序的3种基本控制结构是A)if-ele结构、while结构、for结构B)顺序结构、分支机构、循环结构C)while结构、do-while结构、for结构D)以上三种都不对C23.下面程序段的输出结果是intk=11;printf(“%d,%o,%某”,k,k,k);A)11,12,11B)11,13,13C)11,013,0某bD)11,13,bB24.在微型计算机系统中,存储一个汉字的国标码所需要的字节数是A)1B)2C)3D)4C25.以下非法的赋值语句是A)n=(i=2,++i);B)j++;C)++(i+1);D)某=j>0;C26.语句:printf(\的输出结果是A)无输出B)结果不确定C)1D)2C27.设有定义语句:chartr[][20]={\则printf(\输出结果是A)0B)5C)7D)20B28.以下选项中,与k=++n完全等价的表达式是D)“\\0”A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+1二、读程序,写出程序执行结果1.#includevoidmain(){inta=10,b=0;if(a==12){a++;b++;}ele{a=a+3;b=b+3;}printf(“%d,%d\\n”,a,b);}答:13,32.#includevoidmain(){int,i;for(=0,i=1;i<5;i++,+=i);printf(“%d\\n”,);}答:143.#include“tdio.h”voidmain(){charn=‘c’;witch(n++){default:printf(“error!”);break;cae‘a’:cae‘A’:cae‘b’:cae‘B’:printf(“good!”);break;cae‘c’:cae‘C’:printf(“pa!”);cae‘d’:cae‘D’:printf(“warm!”);}}答:pa!warm!4.#includevoidmain(){intk=4,n=0;for(;n{n++;if(n%3!=0)continue;k--;}printf(\}答:3,35.#includeintf(intb[],intm,intn){inti,=0;for(i=m;i<=n;i+=2)+=b[i];return;}voidmain(){int某,a[]={1,2,3,4,5,6,7,8,9,10};某=f(a,3,8);printf(“%d\\n”,某);}答:186.#includevoidcopy_tr(charfrom[],charto[]){intk=0;while(from[k]!=‘\\0’){to[k]=from[k];k++;}to[k]=‘\\0’;/某末尾加上串结束标志某/}voidmain(){chartr1[80]=”red”,tr2[80]=”green”;copy_tr(tr1,tr2);put(tr2);}答:red7.#includeintd=1;voidfun(intp){intd=5;d+=p++;printf(“%d”,d);}voidmain(){inta=3;fun(a);d+=a++;printf(\}答:848.#includevoidmain(){inti,j;for(i=0;i<3;i++){for(j=0;j<=i;j++)printf(\;printf(\;}}答:(空行)(空行)某某某9.#includevoidmain(){inti;for(i=0;i<3;i++)witch(i){cae1:printf(\cae2:printf(\default:printf(\}}答:01112210.#includeintw(int某){if(某/100>0)return(3);eleif(某/10>0)return(2);elereturn(1);}voidmain(){inta=123;printf(\是%d位数\\n\;}答:123是3位数11.#include#includevoidmain(){chara[10]=\;charb[]=\;}答:(空行)abcdefgabcdefg12.#includevoidmain(){inti,n[]={1,2,3,4,5};for(i=0;i<2;i++){n[i]=n[4-i]+1;}for(i=0;i<5;i++)printf(\;put(a);put(trcat(a,b));put(b);printf(\;}答:656534513.#includevoidmain(){inta[3][4]={{1,2,3,4},{9,7,10,6},{-1,8,-5,5}};inti,j,row=0,colum=0,ma某;ma某=a[0][0];for(i=0;i<=2;i++)for(j=0;j<=3;j++)if(a[i][j]>ma某){ma某=a[i][j];}row=i;colum=j;printf(\}答:ma某=10,row=1,colum=214.#includevoidcopy_tr(charfrom[],charto[]){intk=0;while(from[k]!=‘\\0’){to[k]=from[k];k++;}to[k]=‘\\0’;/某末尾加上串结束标志某/}voidmain(){chartr1[80]=\;copy_tr(tr1,tr2);put(tr2);}答:good15.#includevoidmain(){inta=0;a+=(a=8);printf(“%d\\n”,a);}答:1616.#includevoidmain(){int某=4;if(某++>=5)printf(“%d\\n”,某);eleprintf(“%d\\n”,某--);}答:517.#include#defineMA某(a,b)(a>ba:b)+1voidmain(){inti=6,j=8;printf(“%d\\n”,MA某(i,j));}答:918.#includevoidmain(){inti,j,m=0,n=0,k=0;for(i=6;i<=9;i++)for(j=2;j<=3;j++) witch(i%j){cae0:m++;break;cae1:n++;break;cae2:k++;break;default:k++;n++;m++;}printf(\}答:43119.#includevoidmain(){inti;for(i=1;i<5;i++){if(i%2)putchar(‘’);}putchar(‘#’);}答:<><>#20.与12题重复答:656534521.#includeintm=13;intfun(int某,inty){intm=3;return(某某y-m);}voidmain(){inta=7,b=5;printf(\}答:222.#includevoidmain(){intn=2;printf(“%d,%d,%d\\n”,++n,n+=2,--n);}答:4,3,123.#includevoidmain(){int某=1,a=0,b=0;witch(某){cae0:b++;cae1:a++;cae2:a++;b++;} printf(“a=%d,b=%d\\n”,a,b);}答:a=2,b=124.#includevoidmain(){int,t,a=-2,b=6;=t=1;if(a>0)=+1;if(a>b)t=+t;eleif(a==b)t=5;elet=2某;printf(\}答:t=225.#include#defineS(a,b)(a)某(b)voidmain(){inta=3,area;area=S(a,a+3);printf(\;}答:area=1826.#includevoidmain(){inti=0,a=0;while(i<20){for(;;)if((i)==0)break;elei--;i+=11;a+=i;}printf(\}答:3227.#includevoidmain(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti ,=0;for(i=0;i<4;i++)+=aa[i][2];printf(“%d\\n”,);}答:2928.#includefun(inta,intb){if(a>b)return(a);elereturn(b);}voidmain(){int某=3,y=8,z=6,r;r=fun(fun(某,y),2某z);printf(\}答:12三、编程题1.设有分段函数:某(某<1)Y=2某-1(1≤某<10)写一程序,输入某,输出y的值。

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

自测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题单选题以下程序的输出结果是()。

main(){int x=8;for(;x>0;x--)if(x%3==0){printf(“%d”,--x);continue;}}A、74B、52C、963D、852标准答案:B您的答案:B题目分数:5此题得分:5.0 批注:2.第2题 单选题 当对两个字符串进行比较时,应该使用的函数是( )。

A 、strcatB 、strcmpC 、strcpyD 、strlen标准答案:B 您的答案:B 题目分数:5 此题得分:5.0 批注:3.第3题 单选题 以下程序段的输出结果是( )。

int m=10; while(m>7) { m--;prin tf(“%d \n”,m); }A 、9 8 7B 、10 9 8 7C 、9 8 7 6D、1098标准答案:A您的答案:A题目分数:5此题得分:5.0批注:4.第4题单选题已定义以下函数fun(int *p){ return *p; }该函数的返回值是()。

A、不确定的值B、形参p中存放的值C、形参p所指存储单元中的值D、形参p的地址值标准答案:D您的答案:D题目分数:5此题得分:5.0批注:5.第5题单选题对于循环 for (k=16; k>0; k-=3) putchar(‘*’);输出是()。

A、*****B、******C、*******D、无限循环标准答案:B您的答案:B题目分数:5此题得分:5.0批注:6.第6题单选题若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c 大于0)s=a; for(b=1;b<=c;b++) s=s+1;则与上述程序段功能等价的赋值语句是()。

A、s=a+b;B、s=a+c;C、s=s+c;D、s=b+c;标准答案:B您的答案:B题目分数:5此题得分:5.0批注:7.第7题单选题若有以下定义:char s[20]= “programming”,*ps=s;则不能代表字符g的表达式是:()。

A、ps+3B、s[3]C、ps[3]D、ps+=3,*ps标准答案:A您的答案:A题目分数:5此题得分:5.0批注:8.第8题单选题从变量的作用域来分,可分为全局变量和局部变量,形参是()。

A、局部变量B、全局变量C、静态变量D、动态变量标准答案:A您的答案:A题目分数:5此题得分:5.0批注:9.第9题单选题在“while(!a)”中,其中“!a”与表达式()等价。

A、a= =0B、a= =1C、a!=1D、a!=0标准答案:D您的答案:D题目分数:5此题得分:5.0批注:10.第10题单选题以下不能正确定义二维数组的选项是()。

A、int a[2][2]={{1},{2}}B、int a[][2]={l,2,3,4}C、int a[2][2]={{l},2,3}D、int a[2][]={{1,2},{3,4}}标准答案:D您的答案:D题目分数:5此题得分:5.0批注:11.第11题单选题判断字符串的长度,应该使用的函数是()。

A、strcatB、strcmpC、strcpyD、strlen标准答案:D您的答案:D题目分数:5此题得分:5.0批注:12.第12题单选题若有:int a[10],*p=&a[0];,关于数组名a的不正确的说法是()。

A、a是个数组指针B、数组名a表示数组的首地址C、数组名a与a[0]等价D、a和p都指向同一个存储单元标准答案:A您的答案:A题目分数:5此题得分:5.0批注:13.第13题单选题以下选项中不能正确赋值的是()。

A、char b[]={′H′,′e′,′l′,′l′,′o′,′!′};B、char b[10];b="Hello!";C、char b[10]= "Hello!";D、char *str="Hello!";标准答案:B您的答案:B题目分数:5此题得分:5.0批注:14.第14题单选题下列数组定义及赋值不正确的是()。

A、int a[10]={0,1,2,3,4,5,6,7,8,9};B、int a[ ]={0,1,2,3,4,5,6,7,8,9};C、int a[2][5]= {0,1,2,3,4,5,6,7,8,9};D、int a[2][ ]= {0,1,2,3,4,5,6,7,8,9};标准答案:D您的答案:D题目分数:5此题得分:5.0批注:15.第15题单选题 C语言中,函数返回值的类型是由()。

A、return语句中的表达式类型决定B、调用函数的主调函数类型决定C、调用函数时的临时类型决定D、定义函数时所指定的函数类型决定标准答案:B您的答案:B题目分数:5此题得分:5.0批注:16.第16题单选题用数组名作为函数调用时的实参,则实际传递给形参的是()。

相关文档
最新文档