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

合集下载

C语言程序设计(附答案)

C语言程序设计(附答案)

C语言程序设计考试试卷(附答案)计算机程序设计课程56 学时 3.5 学分考试形式:闭卷一、选择题(15小题,每小题2分,共计30分)1.下面不正确的字符串常量是 A 。

A)'abc' B)"12'12" C)"0" D)" "2.以下正确的叙述是 DA)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误(精确)地表示D)在C程序中,%是只能用于整数运算的运算符3.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为 AA)D B)68 C)不确定的值 D)C4.sizeof(float)是 B :A)一个双精度型表达式 B)一个整型表达式C)一种函数调用 D)一个不合法的表达式5.以下说法正确的是 D :A)输入项可以为一实型常量,如scanf("%f",3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);6.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是 D (注:<CR>表示回车)。

int a1,a2; char c1,c2;scanf("%d%d",&a1,&a2); scanf("%c%c",&c1,&c2);A) 1020AB<CR> B)10 20<CR>AB<CR>C)10 20 AB<CR> D)10 20AB<CR>7.请阅读以下程序:void main(){int a=5,b=0,c=0;if(a=b+c) printf("***\n");e1se printf("$$$\n");以上程序 D :A)有语法错不能通过编译 B)可以通过编译但不能通过连接C)输出*** D)输出$$$8.下面程序段的运行结果是 C 。

C语言程序设计试题及参考答案

C语言程序设计试题及参考答案

C语言程序设计试题及参考答案精心整理c语言程序设计一、选择题(共40分,每小题2分)1、以下叙述不正确的是(d)a、一个c源程序可以由一个或多个函数共同组成b、一个c源程序必须涵盖一个main函数c、c程序的基本共同组成单位就是函数d、在c程序中,注释说明只能位于一条语句的后面2、以下四个选项中,就是不合法的用户标识符的选项就是(b)a、abcb、12acc、sund、a3、建有语句inta=4;则继续执行了语句a+=a-=a*a后,变量a的值就是(a)a、-24b、0c、4d、164、以下运算符中优先级最低的就是(b)a、a、inputx、y、z;b、scanf(“%d%d%d”,&x,&y,&z);c、scanf(“%d%d%d”,x,y,z);d、read(“%d%d%d”,&x,&y,&z);9、假定从键盘输入23456,下面程序的输出结果是:(c)voidmain(){intm,n;scanf(“-=”,&m,&n);printf(“m=%dn=%d\\n”,m,n);}a、m=23n=45b、m=234n=56c、m=23n=456d、语句有错误10、若运转时,给变量x输出12,则以下程序的运转结果就是(a)main(){intx,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\\n”,y);}精心整理a、0b、22c、12d、1011、c语言中while和do-while循环的主要区别(a)a、do-while的循环体至少继续执行一次b、while的循环控制条件比do-while的循环控制条件严格c、do-while允许从外部转到循环体内d、do-while的循环体不能是复合语句12、以下对二维数组的恰当表明的语句就是(c)a、inta[3][]b、floata(3,4)c、doublea[3][4]d、floata(3)(4)13、以下程序的输出结果是(c)main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(“%d”,x[i][2-i]);}a、1,5,9b、1,4,7c、3,5,7d、3,6,914、以下能对一维数组a进行正确初始化的语句是(c)a、inta[10]=(0,0,0,0,0);b、inta[10]={};c、inta[10]={0};d、inta[10]={10*1};15、以下程序执行后的输出结果是:(a)intfun(inta,intb,intc){a=456;b=567;c=678;}voidmain(){intx=10,y=20,z=30;z=fun(x,y,z);printf(“%d,%d,%d\\n”,z,y,x);}a、30,20,10b、10,20,30c、10,30,50d、10,30,4016、以下说法正确的是(a)如果在一个函数中的复合语句中定义了一个变量,则该变量a、只在该复合语句中有效b、在该函数中有效c、在本程序范围内有效d、为非法变量17、以下函数调用语句中含有的实参个数为(b)func((exp1,exp2,exp3),(exp4,exp5));a、1b、2c、4d、518、在c语言程序中,以下观点恰当的就是(b)。

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);} 程序运行后输出结果是( )。

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

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

《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。

A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。

A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。

A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。

x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。

A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。

A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。

A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。

A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。

A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。

A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。

《c语言程序设计》试题库及答案

《c语言程序设计》试题库及答案

《c语言程序设计》试题库及答案一、选择题1. 下列哪个选项是C语言的标准库函数?A. printfB. scanfC. mainD. All of the above答案:D2. C语言中,用于定义字符串的字符数组的语法是什么?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A3. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. functionC. defD. void答案:A二、填空题1. 在C语言中,定义一个整型变量的正确方式是:________。

答案:int variable_name;2. C语言中,用于计算两个数的和的运算符是:______。

答案:+3. 如果要在C语言中声明一个指向整型的指针,应该使用:________。

答案:int *pointer_name;三、简答题1. 请简述C语言中数组和指针的区别。

答案:数组是一组相同类型的元素的集合,可以通过索引访问每个元素。

指针是一个变量,它存储了另一个变量的内存地址。

数组名可以被用作指向数组首元素的指针,但数组本身是一个固定大小的实体,而指针可以被重新赋值为其他地址。

2. 解释C语言中的结构体(struct)是什么?答案:结构体是一种用户定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构。

它使得可以创建包含多种数据类型的复杂数据结构。

四、编程题1. 编写一个C语言程序,实现计算两个整数的和,并输出结果。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two integers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现将一个字符串反转,并输出结果。

C语言程序设计试卷与答案

C语言程序设计试卷与答案

C 语言程序设计 笔试试题题号 一 二 三 四 五 六 笔试(70%)综合 (30%)总分分数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间120分钟。

一、单项选择题。

将正确答案填入下面框中。

(本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 有以下程序 main() {int a=1,b=0; if(!a) b++;else if(a==0) if(a) b+=2; else b+=3;printf(“%d\n ”,b); }则程序输出( A )。

A) 0B) 1C) 2D) 32. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。

A) a%(int)(x-y) B) a=x!=yC) (a*y)%b D) y=x+y=x3. 若有定义 int (*p)[3];则下列说法正确的是( C )。

号学名姓注意行为规范 遵守考试纪律A) 定义了基类型为int的三个指针变量B) 定义了一个名为*pt、具有三个元素的整型数值C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具有三个元素的整型数组4. 有以下程序段main(){ int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( B)。

A) x=0 B) x= -1 C) x=1 D)while构成无限循环5. 有以下程序:int fun(){static int x=1;x *= 2;return x;}main( ){ int i,s=1 ;for(i=1 ;i<=2 ;i++) s=fun() ;printf(“%d\n ”,s) ;}执行后的输出结果为( D)。

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

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

C 语言程序设计试卷 ,C++语言程序设计试题及答案一、单项选择题(每题1分,共20分)1. C语言规定:在一个源程序中,main函数的位置( C )。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后2. 下面四个选项中,均是合法浮点数的选项是( B )。

A. +1e+1 5e-9.4 03e2B. -.60 12e-4 -8e5C. 123e 1.2e-.4 +2e-1D. -e3 .8e-4 5.e-03. 若a=-14,b=3,则条件表达式 a<b? a:b+1的值为(A )。

A. -14B. -13C. 3D. 44. 已知:int n,i=1,j=2;执行语句n=i<j?i++:j++;则i和j的值是( c ).A. 1,2B. 1,3C. 2,2D. 2,35. 为了判断两个字符串s1和s2是否相等,应当使用( D )A. if (s1==s2)B. if(s1=s2)C. if (strcmp(s1,s2))D. if (strcmp(s1,s2)==0)6. 以下正确的描述是( B )。

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

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

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

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

7. 在C语言中,下面对函数不正确的描述是( D)。

A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。

B. 允许函数递归调用。

C. 函数形参的作用范围只是局限于所定义的函数内。

D. 子函数必须位于主函数之前。

8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( A)。

A. 该变量只在该复合语句中有效B. 该变量在该函数中有效C. 该变量在本程序范围内均有效D. 该变量为非法变量9. 以下正确的函数形式是( D )。

A. double fun(int x,int y) { z=x+y;return z;}B. fun(int x,y) { int z; return z;}C. fun(x,y) { int x,y; double z; z=x+y; return z;}D. double fun( int x,int y) {double z; z=x+y; return z; }10. 以下程序的输出结果是( B )。

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

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

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

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

说明:请将单项选择题(1~50空)的正确答案涂写考试答题卡,将填空(51~75空)等文字题按【】中的序号写入下面文字答题卡,否则不得分。

二、阅读程序题文字答题卡:(每空2分,共24分)三、完善程序填空题文字答题卡:(每空2分,共26分)一、单项选择题(每空1分,共50分)请将正确答案按【】中的序号写入答题卡,否则不得分。

1.在C语言中,一条语句以【】字符作为结束符。

A),B);C).D)无符号2.以下4组标识符中,能作为变量名使用的是【】。

A)age,struct,s1 B)2A,b_3,mainC)ELSE,a[2],m123 D)_abc,INT,abcd3.判断char型变量ch是否为数字字符的正确表达式为【】。

A)0<=ch<=9 B)'0'<=ch<='9'C)(0<=ch)&&(ch<=9)D)('0'<=ch)&&(ch<='9')4.已知小写字母a的ASCII码值是97,大写字母A的ASCII码值是65,下列语句中不能输出大写字母B的是【】。

A)putchar('A'+1);B)putchar('b'-32);C)putchar(98-32);D)putchar(B);5.空字符串的长度是【】。

A)0B)1 C)2 D)36.整型变量a定义后赋初值的结果是【】。

int a=2.8*6;A)12 B)16C)17 D)187.若有以下说明语句,则该语句【】。

char a='\077';A)使a的值包含1个字符B)使a 的值包含4个字符C)使a的值包含3个字符D)说明不合法8.下面的程序结果为:【】。

main(){int x=023;printf("%d\n",--x);}A)17 B)18C)23 D)249.源程序执行后,屏幕上显示【】。

main(){ int a;float b;a=4;b=9.5;printf("a=%d,b=%4.2f\n",a,b);}A)a=%d,b=%f\n B)a=%d,b=%fC)a=4,b=9.50 D)a=4,b=9.510.设int x=10;x+=x%=(-6)+4;则x= 【】。

A)0B)16 C)18 D)1011.C语言的下列运算符中,运算对象必须是整型数据的是【】。

A)% B)/ C)&& D)* 12..若有代数式(3ae)/(bc),则下面不正确的C语言表达式是【】。

A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3 13.下面程序的输出结果是【】。

main(){int a=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));printf("%d,%d,%d\n",k,a,b);}A)1,1,2 B)1,0,3C)0,1,2 D)0,0,3 14.下面哪个表达式的值为4 【】。

A)11/3 B)11.0/3C)(float)11/3 D)(int)(11.0/3+0.5)15.下面程序的输出结果是【】。

main(){int x=2,y=-1,z=2;if(x<y)if(y<0)z=0;else z+=1;printf(“%d\n”,z);}A)3 B)1 C)2 D)0 16.下列程序的运行结果是【】。

main(){int x=0,y=1,z=0;if(x=z=y)x=3;printf(“%d,%d\n”,x,z);}A)3,0 B)0,0 C)0,1 D)3,1 17.下面的程序main(){int x=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!ok1)x=1;elseif(ok2)x=10;x=-1;printf("%d\n",x);}的输出是【】。

A)-1 B)0 C)1 D)不确定的值18.执行下面程序后的输出结果是【】。

int x=1,y=1,z=1;x+=y+=z;printf(“%d\n”,x<y?y:x);A)3B)2 C)1 D)419.有如下程序段,则输出结果是【】。

int a=10;switch(a){ case 9:a+=1;case 10:a+=1;case 11:a+=1;case 12:a+=1;}printf(“a=%d\n”,a);A)11 B)12 C)13 D)1020.下面的程序main(){int i;for(i=0;i<10;i++);printf("%d\n",i);}的输出结果是【】。

A)0 B)123456789 C)0123456789 D)1021.d o语句的循环次数为【】。

int a=10;do { a--;} while (a!=0)A)10B)9 C)11 D)1222.设有类型说明为:int i=1;则执行语句:“while (i++<5);”后,变量i的值是【】。

A)7 B)6C)5 D)123.对以下程序段的叙述正确的是【】。

int k=0;while(k=0)k=k-1;A)while循环之行10次B)无限循环C)循环体一次也不执行D)循环体被执行一次24.以下语句段中,【】不是死循环。

A)int i=100;while(1){i=i%100;i++;if(i>100)break;}B)for(;;);C)int k=32764;do{k++;k++;}while(k>0)D)int s=32764;while((s++%2)||(s%2))s++;25.使用如下语句定义一个char型二维数组str,用来存放字符串"Pascal"、"Basic"、"C++",char str[M][N];则M和N最合理取值应该是【】。

A) 3和7 B) 2和7 C) 2和6 D) 3和626.设己定义int a[5 ]={0,1,2} ;则a[4]数组元素的值为【】。

A) 不确定值B) 定义错误C) 4 D) 027.运行下面程序段的输出结果是【】。

static int a[7]={1,3,5} ;printf("%d\n",a[3] );A) 0 B) 5 C) 3 D) 不确定数28.设有说明char a[ ]= "No smoking!"; 则以下不能正确输出的语句是【】。

A) printf("%c", &a ); B) printf("%s", a );C) puts( a ); D) puts ("No smoking!");29.当执行下面的程序时,如果输入ABC,则输出结果是【】。

#include "stdio.h"#include "string.h"main(){ char ss[10]="1,2,3,4,5";gets(ss); strcat(ss, "6789"); printf("%s\n",ss);}A) ABC6789 B) ABC67 C) 12345ABC6 D) ABC45678930.以下程序的输出结果是【】。

main(){ int i, x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++) printf("%d,",x[i][2-i]);}A) 1,5,9, B) 1,4,7, C) 3,5,7,D) 3,6,9,31.若定义int i,*p; 使p指向i的赋值语句是【】。

A) p=&i;B) *p=&i; C) *p=i; D) p=*&i;32.变量的指针,其含义是指该变量的【】。

A) 值B) 地址C) 名D) 一个标志33.下列程序的运行结果是【】。

main(){ int a=3, b=6, *x=&a, *y=&b, *k;k=x; x=y; y=k;printf("%d %d\n", *x, *y);}A) 6 3 B) 3 6 C) 编译出错D) 0 034.若有以下定义:char a[2][5]={9,8,7,6,5,4,3,2,1,0},*p=a[0],**q=&p;则对a数组元素的正确引用形式【】。

A) *(q+1)B) q[1][1]C) *(*q+1)D) *q[1]35.以下叙述中不正确的是【】。

A) 在不同的函数中可以使用相同名字的变量B) 函数中的形式参数是局部变量C) 在一个函数内定义的变量只在本函数范围内有效D) 在一个函数内的复合语句中定义的变量在本函数范围内有效36.在调用函数时,如果实参是数组名,它传递给形参的是【】。

A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值D) 数组元素的个数37.下面程序的输出是【】。

int m=13;int fun2(int x,int y){int m=3;return(x*y-m);}main(){int a=7,b=5;printf(“%d\n”,fun2(a,b)/m);}A)1 B)2 C)7 D)1038.在一个C源程序文件中,若要定义一个只允许在该源程序文件中所有函数使用的变量,则该变量需要的存储类别是【】。

A) static B) externC) register D) auto39.不合法的main函数命令行参数表示形式是【】。

A) main(int a,char *c[]) B) main(int arc,char **arv)C) main(int argv,char *argc[]) D) main(int argv,char *argc)40.若定义enum color {red,green,blue,purple,yellow,black,orange} cl;,执行语句c1=green+blue;后,以下选项中cl的结果正确的是【】。

A)greenblue B)purple C)yellow D)编译出错41.设有以下说明和定义:typedef union{long i;int k[5];char c;}DATE;struct date{int cat;DATE cow;double dog;}too;DATE max;则执行语句printf (“%d”,sizeof (struct date )+sizeof(max));后的结果是【】。

相关文档
最新文档