石油大学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语言复习题【设计型】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语言在线考试

窗体顶端设有两字符串“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语言期末考试题及答案一、选择题(每题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语言在线作业参考一、单项选择题答题要求:每题只有一个正确的选项。
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语言在线测评答案第7章(20XX级亲测正确)

中国石油大学(华东)C语言在线测评答案第7章(20XX级亲测正确)[基础题]7.01 求最大值问题描述:用函数编程技术求两整数的最大值,在主函数中调用该函数计算并输出从键盘任意输入的两个整数的最大值输入:整数x和y 输出:两个整数的最大值输入样例:10 20 输出样例: MAX=20 #include int max(int x,int y){ return x>y?x:y; } int main() { } int x,y;scanf(\printf(\return 0; 【基础题】7.02 求组合数问题描述:用函数编程计算组合数输入: m和k的值(m>=k>0)输出:所求的结果输入样例: 3 2 输出样例: 3 的值。
#include #include long Fact(int m,int a); int main() { int m,a,ret;scanf(\ ret=Fact(m,a); printf(\ return 0; } long Fact(int m,int a) {long result, x=1, y=1, i , j, k, z, q=1; if(mif(m>=a&&m=a&&m>0&&a>0) {for(i=2;i int fun(int a,int b) { } /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ int main(){ int a,b,c; scanf(\ c=fun(a,b); printf(\return 0; } /* PRESET CODE END - NEVER TOUCH CODE ABOVE*/ int g1,g2,s1,s2,c; g1=a ; g2=b ; s1=a/10; s2=b/10;c=g1*1000+g2*100+s1*10+s2; return c; 【设计型】7.2 素数的判断请编写函数fun,其功能是判断一个整数n是否为素数,如果是素数,则返回1,否则返回0。
中国石油大学《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语言

自测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题单选题以下程序的输出结果是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 B1 C 4 D 55. 设有定义int a=3;b=4;c=5; ;则以下表达式中;值为0的表达式是A a&&bB a<=bC a||b+c&&b-cD a<b&&c||16. 以下不合法的赋值语句是Ax=1;y=2; B++x; Cx=y=15; Dy=intx;7. 已定义c为字符型变量;则下列语句中正确的是Ac='97'; Bc="97"; Cc="a"; Dc=97;8. 能将高级语言编写的源程序转换为目标程序的软件是A汇编程序B编辑程序C解释程序D编译程序9. 设有定义char *p=“abcde\0fghjik\0”; 则printf“%d\n”;strlenp;输出结果是A 12B 15C 6D 510.以下选项中合法的实型常数是A 5E2.0B E-3C .2E0D 1.3E11.以下非法的赋值语句是A n=i=2;++i;B j++;C ++i+1;D x=j>0;12.已定义c为字符型变量;则下列正确的赋值语句是Ac='66'; Bc="66"; Cc="B"; Dc=66;13.设a=3;b=4;c=-5;则逻辑表达式:a || b+c&& b==c 的值是A1 B0 C非0 D语法错14.以下能正确定义数组并正确赋初值的语句是Aint N=5;bNN; Bint a12={{1};{3}};Cint c2= {{1;2};{3;4}}; Dint d32={{1;2};{34}};15.结构化程序设计的三种基本结构是A顺序结构、选择结构、循环结构Bif、switch、breakCfor、while、do-while Dif、for、continue16.在一个C程序中Amain函数必须出现在所有函数之前Bmain函数可以在任何地方出现Cmain函数必须出现在所有函数之后Dmain函数必须出现在固定位置17.以下合法的字符常量是A‘\084’B‘ab’C‘\x43’D“\0”18.用8位无符号二进制数能表示的最大十进制数为A127 B128 C255 D25619.设有定义:int x=0;y=1;z=1;则运行表达式:x=y++>z--后;x;y;z的值分别是A1;1;1 B1;2;0 C0;1;1 D0;2;020.设有int x=11;则表达式x++*1/3的值是A 3 B4 C 11 D 1221.若有: int x=1;n=5; 则执行语句x%=n%2后;x的值为A 3 B2 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;A11;12;11 B11;13;13 C11;013;0xb D11;13;b24.在微型计算机系统中;存储一个汉字的国标码所需要的字节数是A 1B 2C 3D 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.设有定义语句:charstr20={"Hello";"Beijing"};*p=str;则printf"%d\n";strlenp+20; 输出结果是A0 B5 C7 D2028.以下选项中;与k=++n完全等价的表达式是A k=n;n=n+1B n=n+1;k=nC k=++nD k+=n+1二、读程序;写出程序执行结果1. #include <stdio.h>void main{ int a=10;b=0;ifa==12{a++; b++; }else{ a=a+3 ; b=b+3;}printf“%d;%d\n”;a;b;}2. #include <stdio.h>void main{ ints;i;fors=0;i=1;i<5;i++;s+=i ;printf“%d\n”;s;}3. #include “stdio.h”void main{ char n=‘c’;switchn++{ 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++;ifn%3=0 continue;k- -;}printf"%d;%d\n";k;n;}5. #include <stdio.h>int fint b;intm;int n{ inti;s=0;fori=m;i<=n;i+=2 s+=bi;return s;}void main{ intx;a={1;2;3;4;5;6;7;8;9;10};x=fa;3;8;printf“%d\n”;x;}6. #include <stdio.h>voidcopy_strchar from ;char to{ int k=0;whilefromk=‘\0’{ tok=fromk;k++;}tok=‘\0’;/*末尾加上串结束标志*/ }void main{ char str180=”red”;str280=”green”;copy_str str1;str2;putsstr2;}7. #include <stdio.h>int d=1;void funint p{ int d=5;d+=p++;printf“%d”;d;}void main{ int a=3;funa; d+=a++;printf"%d\n"; d;}8.#include <stdio.h>void main{ int i;j;fori=0;i<3;i++{forj=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>intwsint x{ ifx/100>0return3;else ifx/10>0return2;elsereturn1;}void main{ int a=123;printf"%d是%d位数\n";a;wsa;}11. #include <stdio.h>#include <string.h>void main{ char a10="abc";char b="defg";putsa;putsb;putsstrcata;b;}12.#include <stdio.h>void main{ int i;n={1;2;3;4;5};fori=0;i<2;i++{ ni=n4-i+1;printf"%d ";ni;}fori=0;i<5;i++printf"%d ";ni;}13.#include <stdio.h>void main{ int a34={{1;2;3;4};{9;7;10;6};{-1;8;-5;5}};int i;j;row=0;colum=0;max;max=a00;fori=0;i<=2;i++forj=0;j<=3;j++ifaij>max{ max=aij;row=i;colum=j;}printf"max=%d;row=%d;colum=%d";max;row;colum;}14.#include <stdio.h>voidcopy_strchar from ;char to{ int k=0;whilefromk= ‘\0’{ tok=fromk;k++;}tok=‘\0’;/*末尾加上串结束标志*/}void main{ char str180= "good";str280= "abcdef";copy_strstr1;str2;putsstr2;}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;ifx++>=5printf“%d\n”; x ;elseprintf“%d\n”; x-- ;}17. #include <stdio.h>#define MAXa;b a>b a : b+1void main{ int i=6;j=8;printf“%d\n”;MAXi;j;}18.#include <stdio.h>void main{ int i;j;m=0;n=0;k=0;fori=6; i<=9;i++forj=2; j<=3;j++switchi%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;fori=1;i<5;i++{ ifi%2putchar‘<’;elsecontinue;putchar‘>’;}putchar‘#’;}20.#include <stdio.h>void main{ int i;n={1;2;3;4;5};fori=0;i<2;i++{ ni=n4-i+1;printf"%d ";ni;}fori=0;i<5;i++{ printf"%d ";ni;}}21. #include <stdio.h>int m=13;int funint x;int y{ int m=3;returnx*y-m;}void main{ int a=7; b=5;printf"%d\n"; funa;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;switchx{ 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;ifa>0 s=s+1;ifa>b t=s+t;else ifa==b t=5;else t=2*s;printf"t=%d "; t;}25. #include <stdio.h>#define Sa;b a*bvoid main{ int a=3 ;area;area=Sa;a+3 ;printf"area=%d\n";area;}26. #include <stdio.h>void main{ inti=0;a=0;whilei<20{ for;;ifi%10==0 break;elsei--;i+=11;a+=i;}printf"%d\n";a;}27. #include <stdio.h>void main{ int aa44={{1;2;3;4};{5;6;7;8};{3;9;10;2};{4;2;9;6}};inti;s=0 ;fori=0;i<4;i++ s+=aai2;printf“%d \n”;s;}28. #include <stdio.h>funint a; int b{ ifa>b returna;else returnb;}void main{ int x=3; y=8; z=6; r;r=funfunx;y; 2*z;printf"%d\n"; r;}三、编程题1. 设有分段函数:x x <1Y= 2x-1 1≤x <10 写一程序;输入 x;输出 y 的值..3x-11 x≥102.编程任意输入两个实数a 和b;计算下面函数的值;并输出y 值..a-b a>by= ba a<b a*b a=b3.编程序求如下分段函数的值4.写一个判断素数的函数..要求在主函数中输入一个整数并输出相应的判断信息..5.编程序计算 s=1-2+3-4+ …… -10;并输出结果..6.编写一个函数;将一个字符串最多80个字符中的大写字母变为小写字母;小写字母变为大写字母..要求字符串的输入与输出在主函数中完成..7.编程计算:s=1+12+123+1234+12345+123456 必须用循环控制语句实现8.编写函数change 使输入的字符串按反序存放;在主函数中输入和输出字符串.. 例如输入是:12345abcde;则输出为:edcba543219.编程;在N×N 矩阵中即N 行N 列的数组;求主对角线和次对角线上的各元素之和..10.10个评委给出某选手打分;编程实现去掉一个最高分和一个最低分;求最后得分平均分C语言综合复习资料参考答案一、单选题二、读程序写出程序执行结果题1、13;32、143、passwarm4、3;35、186、red7、848、***9、01112210、123是3位数11、abcdefgabcdefg12、656534513、max=10;row=1;colum=214、good15、1616、517、918、4 3 119、<><>#20、656534521、222、4;3;123、a=2;b=124、t=225、area=1826、3227、2928、12三、编程题1. 设有分段函数:x x<1Y= 2x-1 1≤x<10 写一程序;输入x;输出y 的值..3x-11 x≥10#include <stdio.h>void main{intx;y;printf“输入x:”;scanf“%d\n”;&x;ifx<1{y=x;printf“x=%3d;y=x=%d\n”;x;y;}else ifx<10{y=2*x-1;printf“x=%3d;y=2*x-1=%d\n”;x;y;}else{y=3*x-11;printf“x=%3d;y=3*x-11=%d\n”;x;y;}}2.编程任意输入两个实数a和b;计算下面函数的值;并输出y值..a-b a>b y=baa<b a*b a=b#include <stdio.h> void main { floata;b;y;scanf“%f;%f”;&a;&b; ifa<b y=a/b; else ifa==by=a*b; else y=a-b; printf“y=%f \n”;y; }3.编程序求如下分段函数的值 #include<stdio.h> #include<math.h> void main { floatx;y; scanf“%d”;&x; ifx<=0 y=fabsx+3; else ifx<1&&x>=0 {y=1+x*x;} else{y=2*x+sqrtx; printf“x=%f;y=%f \n”;x;y; }4.写一个判断素数的函数..要求在主函数中输入一个整数并输出相应的判断信息.. #include <stdio.h> void main {intn;i;printf“please enter a integer number;n= ”;scanf“%d”;&n;fori=2;i<=n-1;i++ifn%i==0break;ifi<n printf“%d is not a prime number.\n”;n;elseprintf“%d is a prime number.\n”;n;}求素数的问题方法有很多;同学们可以到教材或网络上进行查找学习..5.编程序计算s=1-2+3-4+ …… -10;并输出结果..#include <stdio.h>void main{inti;k=1;njie=1;float sum=0;fori=1;i<=10;i++{njie=njie*i;sum=sum+njie*k;k=-1*k;}printf"%f\n";sum;}6.编写一个函数;将一个字符串最多80个字符中的大写字母变为小写字母;小写字母变为大写字母..要求字符串的输入与输出在主函数中完成..#include <stdio.h>void main{inti;char a80;getsa;putsa;fori=0;i<80;i++ifai>=65&&ai<=90ai=ai+32;putsa;}7.编程计算:s=1+12+123+1234+12345+123456 必须用循环控制语句实现#include <stdio.h>void main{longint t=0;s=0;i;fori=1;i<=6;i++{t=i+t*10;s=s+t;}printf”s=%ld\n”;s;}本题请注意s数据类型的定义..8.编写函数change使输入的字符串按反序存放;在主函数中输入和输出字符串..例如输入是:12345abcde;则输出为:edcba54321void main{char a100;getsa;changea;putsa;}#include<stdio.h>#include<string.h>void changechar a{inti;j;k;char temp;k=strlena;fori=0;i<k;i++forj=i+1;j<k;j++{temp=ai;ai=aj;aj=temp;}}9.编程;在N×N矩阵中即N行N列的数组;求主对角线和次对角线上的各元素之和..#define N 10;main{inti;j;int aNN;int sum=0;fori=0;i<N;i++forj=0;j<N;j++scanf"%d";&aij;fori=0;i<N;i++forj=0;j<N;j++ifi==j||i+j==N//i==j是判断是否主对角线的元素i+j==N 是判断是否是次对角线的元素sum+=aij; printf"%d";sum;}10.10个评委给出某选手打分;编程实现去掉一个最高分和一个最低分;求最后得分平均分#include <stdio.h>int main{int a10;i;max;min;float sum;fori=0;i<10;i++{scanf"%d";&ai;}max=a0;min=a0;fori=1;i<=9;i++{ifmax<aimax=ai;else ifmin>aimin=ai;}fori=0;i<=9;i++{sum=sum+ai;}sum=sum-max-min/8;printf"%f\n";sum;}}。