c语言程序设计期末试题A(含答案)

合集下载

C语言程序设计试题A

C语言程序设计试题A

四川职业技术学院2005—2006学年第 1 学期期末考试《C 语言程序设计》 (A )(供04电气、04机电班使用)考试时间:120分钟 满分:100分 命题人:陈 科…………………………………………………………………………………………一、单项选择题,答案不写入答题栏的一律不得分!(每题1.5分,共52.5分)1、结构化程序设计的3种结构是 。

A)顺序结构、选择结构、转移结构 B )分支结构、等价结构、循环结构 C)多分支结构、赋值结构、等价结构 D )顺序结构、选择结构、循环结构2、以下叙述中正确的是 。

A )C 语言比其他语言高级B)C 语言可以不用编译就能被计算机识别执行C )C 语言以接近英语国家的自然语言和数学语言作为语言的表达 形式D )C 语言出现的最晚,具有其他语言的一切优点 3、C 语言中最简单的数据类型包括 。

A )整型、实型、逻辑型B )整型、实型、字符型C )整型、字符型、逻辑型D )字符型、实型、逻辑型 4、若变量已正确定义并赋值,以下符合C 语言语法的表达式是 。

A)a:=b+1 B )a=b=c+2 C )int 18.5%3 D)a=a+7=c+b5、若变量a ,i 已正确定义,且i 已正确赋值,合法的语句是 。

A )a= =1B )++i ;C )a=a++=5;D )a=int (i ); 6、已知: int t=0;while(t=1){。

.}则以下叙述正确的是 。

A )循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对7、若变量已正确说明为float 型,要通过语句scanf ("%f %f%f ",&a ,&b ,&c );给a 赋予10.0,b 赋予22.0,c 赋予33.0,下列不正确的输入形式是 .A)10〈回车〉22<回车〉33<回车> B )10。

0,22.0,33.0〈回车> C )10。

c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从( )。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。

A) _1234_B) _1_2C) int_2_D) 2_int_3.以下定义语句中正确的是( )。

A) char a='A'b='B';C) int a=10,*b=B) float a=b=10.0;D) float *a,b=4.设有以下定义:#define。

d。

2int。

a=0.double。

b=1.25.char c=’A’;则下面语句中错误的是()。

A) a++;B) b++C) c++;D) d++;5.以下4个选项中,不能作为一条C语句的是( )。

A) {;}B) a=0,b=0,c=0.C) if(a>0);D) if(b==0) m=1;n=2;6.有以下定义语句double a,b。

int w。

long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。

A) a=a+b=b++B) w%(int)a+b)C) (c+w)%(int)aD) w=a==b;7.设有定义:int n=0,*p=&n,**q=则以下选项中,正确的赋值语句是( )。

A) p=1;B) *q=2;C) q=p;D) *p=5;8.设有定义:int a,*pa=以下scanf语句中能正确为变量a读入数据的是( )。

A) scanf(“%d”,pa)。

C) scanf(“%d”,&pa)。

B) scanf(“%d”,a)。

D) scanf(“%d”,*pa);9.如有申明:char*language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比力的是()。

2020年电大本科C语言程序设计A期末考试试题及答案

2020年电大本科C语言程序设计A期末考试试题及答案

2020年电大本科C语言程序设计A期末考试试题及答案2020年电大本科C语言程序设计A期末考试试题及答案| 本科《C语言程序设计A》复习资料一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。

A. mainB. MAINC. nameD. function 2.每个C语言程序文件的编译错误分为(B)类。

A. 1B. 2C. 3D. 4 3. 字符串“a+b=12\n“的长度为(B)。

A. 6B. 7C. 8D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。

A. forB. whileC. doD. if 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为(C)。

int i=0; do i++; while(i A. 8 B. 9 C. 10 D. 11 6. 将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。

A. strlen()B. strcpy()C. strcat()D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是(A)。

A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a的地址比a数组的首地址大(C)个字节。

A. 4B. 8C. 16D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为“Hello world!“,若要使变量p指向s所指向的字符串,则p应定义为(A)。

A. char *p=s;B. char *p=C. char *p;p=*s;D. char *p; p= 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。

A. gets()B. fgets()C. getc()D. fgetc() 11.程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用(D)符号作为分隔符。

吉林师范成人教育《C语言程序设计试题》期末考试复习题及参考答案

吉林师范成人教育《C语言程序设计试题》期末考试复习题及参考答案

吉林师范成人教育期末考试试卷《C语言程序设计》A卷年级专业姓名分数一、选择题(每题1分共10分)1. 一个C语言程序是由。

A)一个主程序和若干个子程序组成 B)若干函数组成C)若干过程组成 D)若干子程序组成2. 不是整数。

下面不正确的字符串常量是。

A)'abc' B)"12'12" C)"0" D)" "3. 下面四个选项中,均是合法的浮点数的选项是。

A)+1e+1 B)-.60 C)123e D)-e35e-9.4 12e-4 1.2e-.4 .8e-403e2 -8e5 +2e-1 5.e-04. 以下正确的叙述是。

A)在C程序中,每行只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符5. 根据定义和数据的输入方式,输入语句的正确形式为。

已有定义:float f1,f2;数据的输入方式:4.523.5A)scanf("%f,%f",&f1,&f2); B)scanf("%f%f",&f1,&f2);C)scanf("%3.2f %2.1f",&f1,&f2); D)scanf("%3.2f%2.1f",&f1,&f2);6. 下面四个选项中,均是正确的数值常量或字符常量的选项是。

A)0.0 B)"a" C)'3' D)+0010f 3.9e-2.5 011 0xabcd8.9e 1e1 0xFF00 2e2'&' '\"' 0a 50.7. 若x、i、j和k都是int型变量,则计算下面表达式后,x的值为。

C语言期末考试题(含答案)

C语言期末考试题(含答案)

C语言期末考试题(含答案)《C语言程序设计》期末试卷一、单项选择题(10x2’=20’)1、以下叙述正确的是()A)C语言的源程序不必通过编译就可以直接运行。

B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。

C)C语言源程序经编译形成的二进制代码可以直接运行。

D)C 语言中的函数不可以单独进行编译。

2、一个C语言的源程序中()A)必须有一个主函数B)可能有多个主函数C)必须有除主函数外其它函数D)可以没有主函数3、以下不能定义为用户标识符的是()A)scanfB)VoidC)_3comD)int4、若以下选项中的变量已正确定义,则正确的赋值语句是()A)x1=26.8%3;B)1+2=x2;C)x3=0x12;D)x4=1+2=3;15、设有定义:floata=2,b=4,h=3;以下C语言表达式中与代数式(a b)*h的计2算结果不相符的是().C)for、while、do-whileD)if、for、continue7.在while(!x)语句中的!x与下面条件表达式等价的是()A) x!=0B) x==1C)x!=1D)x==08、有以下程序:#include <XXX>void main(){int i=1,j=1,k=2;if( (j++||k++)&&i++ )printf(“%d,%d,%d\n”,i,j,k);}执行后的输出结果是()A)1,1,2B)2,2,1C)2,2,2D)2,2,39、有以下程序:#include <XXX>void main(){int i,s=0;for(i=1;i<10;i+=2)s+=i+1;printf(“%d\n”,s);}程序执行后的输出结果是()A)自然数1~9的累加和B)自然数1~10的累加和C)自然数1~9中奇数之和D)自然数1~10中偶数之和10、有以下函数定义: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(n,x);2、填空题(10x2’=20’)11、C言语描绘“x和y都大于或等于z”的表达式是:。

c语言程序设计试卷及答案(A)

c语言程序设计试卷及答案(A)

《C语言程序设计》2013至2014 学年度第 1 学期期末(A)卷(考生注意:考试时间为120分钟。

答案须写在答题纸上,并注明题号,考试结束后将试卷连同答题纸一齐交)一、单项选择题(每小题2分,共40分)1.在一个C语言程序中,有并且只能有一个( )函数。

A. main函数B.自定义函数C.外部函数D.内部函数2.一个C语言程序,总是从()函数开始执行。

A. main函数B.自定义函数C.外部函数D.内部函数3.下列标识符中,不能用作变量名的是( )。

A. _1234_B. _1_2C. int_2_D. 2_int_4.下列字符常量不合法的是( )。

A. ‘2’B. ‘\t’C. ‘ab’D. ‘ \n’5.执行以下语句后的输出结果为( )。

int x; float y; y=3.6; x=(int)y+10; printf(“x=%d,y=%f”,x,y);A. x=13.6,y=3.600000B. x=13,y=3.600000C. x=13,y=3D. x=13,y=3.66.以下哪种变量类型在C语言中不存在( )。

A. 整型变量B.实型变量C. 字符串变量D.字符变量7.设m=10,n=4,则赋值运算m%=n+1执行后m的值是( )。

A. 1B. 2C. 3D. 08.下面语句执行后输出结果为( )。

int x=10,y=3,z; printf(“%d\n”,z=(x%y,x/y));}A. 0B.1C. 3D. 49. 下面语句执行后输出结果为( )。

int x=10,y=10,z=10; printf(“%d,%d,%d ”,x++,--y,++z);}A. 10,10,10B. 10,9,11C. 9,10,11D. 11,10,910.以下选项中不是C语句的是( )。

A. {int i; i++; printf("%d\n", i); }B. ;C. a=5,c=10D. { ; }11.以下程序的输出结果是( )。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 018B 0x18C 0o18D 18答案:C解释:在 C 语言中,八进制整数以 0 开头,数字取值范围 0 7,所以 0o18 能正确表示八进制整数。

3、若有定义:int a = 5, b = 2; 则表达式 a / b 的值是()A 25B 2C 20D 3答案:B解释:在 C 语言中,两个整数相除,结果为整数,舍去小数部分,所以 5 / 2 的结果是 2 。

4、以下程序段的输出结果是()int x = 10;printf("%d\n",++x);A 10B 11C 9D 12答案:B解释:++x 是先将 x 的值增加 1,然后再使用 x 的值,所以输出11 。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2的值是 3 。

6、以下函数声明中,正确的是()A void fun(int a, b);B void fun(int a, int b);C void fun(int a; int b);D void fun(int, int);答案:B解释:函数参数列表中,每个参数都需要明确指定其类型,所以 B 选项正确。

7、若有定义:char str ="hello";则 sizeof(str)的值是()A 5B 6C 20D 不确定答案:B解释:str 数组不仅包含字符'h','e','l','l','o',还包含一个字符串结束符'\0',所以 sizeof(str)的值是 6 。

C语言程序设计试卷(含答案)

C语言程序设计试卷(含答案)

.2015年春季学期《C 语言程序设计》试卷A一.选择(每道小题2分,合计30分)1、以下选项中合法的标识符是( )。

A)1_1B)1-1C)_11D)1_ _2、若函数中有定义语句:int k;,则( )。

A)系统将自动给k 赋初值0 B)这时k 中的值无定义 C)系统将自动给k 赋初值-1D)这时k 中无任何值3、以下选项中,能用作数据常量的是( ) 。

A)o115B)0118C)1.5e1.5D)115L4、设有定义:int x=2;,以下表达式中,值不为6的是( )。

A)x*=x+1 B)X++,2*x C)x*=(1+x)D)2*x,x+=25、程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是( )。

A)123.141593 B)12 3.141593C)12,3.141593D)123.14159306、把2进制数10000111101转化为十进制数为( )。

A)1083B)1084 C)1085D)10867、以下是if 语句的基本形式: if(表达式) 语句 其中"表达式"( )。

A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式8、有以下程序#include <stdio.h> main(){ int x; scanf("%d",&x);if(x<=3); elseif(x!=10) printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果( )。

A)不等于10的整数 B)大于3且不等于10的整数 C)大于3或等于10的整数D)小于3的整数9、有以下程序#include <stdio.h> main(){ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)if (b!=2||c--!=3) printf("%d,%d,%d\n",a,b,c);else printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c);} 程序运行后输出结果是( )。

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

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1. 一个C程序的执行是从(A )。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2. 下列选项中,不能用作标识符的是(D )。

A) _1234_ B) _1_2 C) int_2_ D) 2_int_3. 以下定义语句中正确的是( C)。

A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4. 设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是(B)。

A) a++; B) b++ C) c++; D) d++;5. 以下4个选项中,不能作为一条C语句的是(D)。

A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;6. 有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( C)。

页脚内容1A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;7. 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是(D)。

A) p=1; B) *q=2; C) q=p; D) *p=5; 选D.A.p是一个指针,不能给它赋一个整型的值1B.*q仍然是一个指针,*q就是p.所以也不能给它赋一个整型的值.C.q=p;q是个二级指针,p是一级指针,不能把一级指针赋给二级指针.*p=5,即给n赋值为5,正确.8. 设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( A)。

A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9. 若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比较的是(A)。

A)字符B和字符P B) 字符串FORTRAN和字符串BASICC)字符F和字符B D) 字符串BASIC和字符串PASCAL10. 执行语句for(i=1;i++<4;);后变量i的值是(C )。

A) 3 B)4 C) 5 D) 不定一、填空题(每空2分,共18分)1. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值为2.5。

页脚内容2这个数组的首地址a[3]是指向第4个元素所以p指向第4个元素p[5]是从p后的5个也就是第9个元素所以b=93. 函数swap(int x,int y)实现对x和y值的交换。

则执行语句{int a[2]={1,2}; swap(a[0],a[1]);}后,a[0]= 1 ,a[1]= 2 。

4. 设有以下宏定义:#define f(z) z*z,执行赋值语句k=f(4+4)/f(2+2);(k为int型变量)后,k 的值是28 。

k=f(4+4)/f(2+2)=4+4*4+4/2+2*2+2=4+16+2+4+2=285. 书写语句求a, b两个数的最大值max。

(a>b ) ? max=a : max=b ;6. 若x为int型变量,则执行x=7; x+=x-=x+x; 语句后,x的值是-14 。

二、读程序写结果(每题6分,共24分)1. 有以下程序int f(int a){ int b=0;static c=3;b=b+1;c=c+1;return(a+b+c);页脚内容3}void main(){ int a=2,i;for(i=0;i<3;i++) printf(“%2d”,f(a));}执行后输出的结果是。

2. 有以下程序void f(int y,int *x){ y=y+*x; *x=*x+y;}void main( ){ int x=2,y=4;f(y,&x);printf(“x=%d,y=%d\n”,x,y);}执行后输出的结果是。

3. 有以下程序#define LETTER 1#include <stdio.h>void main(){ char str[20]="C Language", c;页脚内容4int i=0;while((c=str[i])!='\0'){ i++;#ifdef LETTERif(c>='a' &&c<'z')c=c+1;else if(c=='z') c=c-25;#elseif(c>='B'&&c<='Z')c=c-1;else if(c=='A') c=c+25;#endifprintf("%c",c); } }执行后输出的结果是。

4. 有以下程序void fun(int *a,int i,int j){ int t;if(i<j){ t=a[i];a[i]=a[j];a[j]=t;i++; j--;页脚内容5for(i=0;i<4;i++) printf("%2d",a[i]);fun(a,i,j);}}void main(){ int x[]={2,6,1,8},i;fun(x,0,3);for(i=0;i<4;i++) printf("%2d",x[i]);printf("\n");}执行后输出的结果是。

四、程序填空(每空1分,共8分)下面程序的功能是:计算从命令行中输入的第2个参数开始的所有参数中是回文字符串的参数个数。

(顺读和倒读都一样的字符串称为“回文”,如“level”就是回文)请填空。

#include <stdio.h>【1】int sumhw( char **p,int n);char jughw(char *str);void main(int argc,char *argv[]){ int s;页脚内容6if (argc<2) printf("请输入有效参数");else{ s=sumhw( 【2】,argc-1);printf("共有%d个回文串\n",s);}}int sumhw(char **p,int n){ char flag;int i,sum=0;for(i=0;i<n;i++){ flag=jughw( 【3】);if ( 【4】) sum++;}return sum;}char jughw(char *str){ char *p1,*p2;int n;n=strlen(str);p1=str;页脚内容7p2= 【5】;while( 【6】){ if(*p1!=*p2) break;else {p1++; 【7】;}}if( 【8】) return('N');else return('Y');}五、编程题(30分)1. 用指针和数组两种方法实现如下功能:将一个字符串按逆序存放。

(18分)要求(1)主函数中完成输入和输出字符串。

(2)逆序存放功能用子函数完成。

2. 一个整型数组有10个元素,编写程序删除所有值为n的元素。

(12分)要求(1)主函数完成n的输入,数组元素输入以及删除后数组元素的输出。

(2)删除功能用子函数完成。

C语言模拟试卷一参考答案一、单项选择题(选择一个最佳答案,每题2分,共20分)1、A2、D3、C4、B5、D6、C7、D8、A9、A10、C页脚内容8二、填空题(每空2分,共18分)1、2.5000002、93、1 24、285、(a>b)max=a max=b6、-14三、读程序写结果(每题6分,共24分)1、7 8 92、x=8,y=43、C Lbohvbhf4、8 6 1 2 8 6 1 2四、程序填空(每空1分,共8分)【1】#include<string.h>【2】argv+1【3】*(p+i)【4】flag= =’Y’【5】str+n-1【6】p1<p2页脚内容9【7】p2--【8】p1<p2五、编程题(共30分)1. (1)数组法(9分)#include <string.h>#include <stdio.h>#define N 20void inv(char str[],int n);void main(){char str[N];gets(str);inv(str,strlen(str));puts(str);}void inv(char str[],int n){int i,j,temp;for(i=0,j=n-1;i<=j;i++,j--){temp=str[i];str[i]=str[j];str[j]=temp;}页脚内容10}(2)指针法(9分)#include <string.h>#include <stdio.h>#define N 20void inv(char *str,int n);void main(){char str[N];gets(str);inv(str,strlen(str));puts(str);}void inv(char *str,int n){char *i,*j,temp;for(i=str,j=str+n-1;i<=j;i++,j--){temp=*i;*i=*j;*j=temp;}}2.(12分)页脚内容11#include <stdio.h>int m;void del_element(int num[],int n);void main(){int num[10];int i,n;m=10;for(i=0;i<10;i++)scanf("%d",&num[i]);printf("please input n\n");scanf("%d",&n);del_element(num,n);for(i=0;i<m;i++)printf("%d ",num[i]);}void del_element(int num[],int n){int i,j;for(i=0;i<m;i++)if(num[i]==n){页脚内容12for(j=i+1;j<m;j++)num[j-1]=num[j];m--;i--;}}页脚内容13。

相关文档
最新文档