大学_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语言程序设计期末考试试卷和答案

__ _ _ _ _ _ _ _ _ _ _ _ _ _号学_ _ _ _ _ _ _ _ _ _ _ _ _ _ _名姓班_ _ _ _ _ _ _ _ _ _ _级_ _ _ _ _ _ _ _ _ _院学_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _.四川师范大学计算机科学学院2012~2013学年度第二学期期末考试⋯C语言程序设计试卷试卷 A⋯⋯⋯答卷说明:⋯1、本试卷共 6 页,答题纸 3 页, 4 个大题, 35 个小题,满分 100 分,⋯⋯120 分钟完卷。

⋯⋯2、闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上答案⋯为准。

⋯效3、本试卷适用于 2011 级 1、2、3 班。

⋯)线(无题号一二三四总分总分人⋯⋯⋯⋯分数⋯题⋯⋯⋯答得分评卷人⋯⋯⋯⋯)内一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的封(序号填在题干的括号内。

每小题 1 分,共 20 分)⋯1、在 C 语言中,下列标识符中合法的是()⋯⋯线A). -int B). in1_3C). A_B!D D). const⋯⋯⋯2、不属于 C 语言基本数据类型的是 ()⋯A). int B). union C). char D). unsigned⋯封⋯⋯3、下面是对宏定义的描述。

不正确的是()⋯⋯密A).宏不存在类型问题,宏名无类型,它的参数也无类型)B).宏替换不占用运行时间密(C).宏替换只是字符串的简单替代⋯D).宏替换时先检查类型,类型一致时才可以替换⋯⋯⋯4、 C语言中,″\\xfds ″在内存中占用的字节数是 ( )⋯⋯A).3B).4C).5D).6⋯⋯⋯5、设 int x;则执行 printf( ″%x\n″,~x^x) ;的结果是 ()⋯A). ffffffff B). ff C). 0D). 1⋯⋯6、对于 while语句,错误的说法是 ()A). 用条件控制循环体的执行次数B). 循环体至少要执行一次.C). 循环体有可能一次也不执行D). 循环体中可以包含若干条语句7、执行下列语句后输出的结果是()int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf("%d,%d,%d\n",a,b,c);A).6 ,7, 7B).6,7,8C).8,7, 6D).8 , 7, 88、设 int a=9,b=20;则 printf(″%d,%d\n″,a--,--b);的输出结果是 ()A).9 ,19B).9 ,20C).10 , 19D).10, 209、设 static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0 ′};那么 ()A).x数组的长度等于y 数组的长度B).x数组的长度大于y 数组的长度C).x数组的长度少于y 数组的长度D).x数组与 y 数组的存储区域相同10、设 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).147B).159C).357D).36911、执行完下列语句后,n 的值是 ()int n;for (n=0 ; n<100 ; n=2*n+1);A).125B).126C).127D).12812、有以下语句: int a=6;a+=a-=a*a;printf(“%d”,a); 输出结果 ()A). –132B). –60C). -24D). 013、为了连接两个字符串s1 与 s2,应当使用 ()A).strcat(s1, s2)B).strcpy(s1, s2 )C).strlen(s1,s2) D). strcmp( s1, s2 )14、设 int a,*p;则语句 p=&a; 中的运算符“&”的含义是 ()A). 位与运算B). 逻辑与运算C). 取指针内容D). 取变量地址15、下面输出的结果为 ()i nt a=13, b=64;printf(“%d\n”, !a || (b>>3) );A).13B).64C).1D).016、下列定义正确的是 ()A).enum t={a,b}x;B). enum t{1,2}x;C). enum { ′+′,′-′}x;D). enum t{a,b}x;.⋯⋯_ ⋯ _ _ ⋯ _ ⋯__⋯__⋯__ ⋯ _ ⋯__⋯__⋯号⋯学)线_(_ ⋯ _ ⋯__⋯__⋯__ ⋯ _ ⋯__⋯__⋯_⋯名⋯姓⋯⋯)班封_(__⋯__ ⋯ _ ⋯__⋯__⋯_⋯级⋯_ _ ⋯ __ ⋯ _ _ ⋯ _ _ ⋯ _ ⋯_院)密学_(_ ⋯ __ ⋯ _ _ ⋯ _ _ ⋯ _ ⋯__⋯__⋯__ ⋯ _ ⋯__⋯⋯17、设有定义:struct u{int a[4];float b[3]; char c[16];}aa;则printf( ″%d\n″,sizeof(aa));的输出是( )A).32B).36C).12D).818、数据 -54.78 在文本文件中占用的字节个数是()A).4B).5C).6D).819、在宏定义 #define p(r) 3.14*r中,请问宏名是 ()A).p B). p(r)C). 3.14*r D). p(r) 3.14*r20、要打开一个已存在的用于修改的非空二进制文件“hello.txt ”,正确语句是( )效A). fp=fopen( "hello.txt ","r" )B). fp=fopen( "hello.txt","ab+" )C).fp=fopen("hello.txt","w" )D).fp=fopen( "hello.txt 无","r+" )得分评卷人题答二、填空题 (仔细阅读每小题的说明和源代码,并将正确答案写到答题纸上对应的题号处。

大学C语言程序设计(编程题)

大学C语言程序设计(编程题)

⼤学C语⾔程序设计(编程题)C语⾔程序设计习题(编程题 C语⾔程序设计习题(编程题习题1(编程题)[知识点:基础知识编制程序,要求输⼊整数a和b,若a2+b2⼤于100,则输出a2+b2百位以上的数字,否则输出两数之和。

习题1-参考答案 main() printf("Input a & b:"); if(a*a+b*b>100) printf("%d\n",(a*a+b*b)/100); elseprintf("%d\n",a+b); } 习题2(编程题)[知识点:基础知识试编程判断输⼊的正整数是否既是5⼜是7的整数倍,若是输出yes,否则输出no。

习题2-参考答案 main() printf("Input a:"); if(a%5==0&&a%7==0) printf("yes\n"); else printf("no\n"); } 习题3(编程题)[知识点:选择结构输⼊⼀个整数,判断它能否被3,5,7整除,并输出以下信息之⼀: (1)能同时被3,5,7整除 (2)能被其中两数整除(要指出哪两个)。

(3)能被其中⼀个数整除(要指出哪⼀个)。

(4)不能被任何⼀个整除。

习题3-参考答案 main()printf("Input a number:"); if(m%3==0&&m%5==0&&m%7==0)printf("能同时被3,5,7整除 elseif((m%3==0&&m%5==0)||(m%3==0&&m%7==0)||(m%5==0&&m%7==0)) {printf("能被其中两数整除 if(m%3==0&&m%5==0) printf("(3,5)"); else if(m%3==0&&m%7==0) printf("(3,7)");else printf("(5,7)"); else if(m%3==0||m%5==0||m%7==0) {printf("能被其中⼀个数整除 C语⾔程序设计习题(编程题if(m%3==0) printf("(3)"); else if(m%5==0) printf("(5)"); else printf("不能被任何⼀个整除"); } 习题4(编程题)[知识点:选择结构将以下程序段改⽤⾮嵌套的if语句实现。

大学C语言程序设计试题含答案

大学C语言程序设计试题含答案

大学C语言程序设计试题含答案一、简答题1. 请简要解释什么是C语言程序设计。

C语言程序设计是一种计算机编程语言,由贝尔实验室的Dennis Ritchie在20世纪70年代早期开发。

它强调的是效率和可移植性,被广泛应用于操作系统、嵌入式系统和其他需要高效执行的应用程序开发。

2. C语言的基本数据类型有哪些?请列举并简要说明其特点。

C语言的基本数据类型包括:- int:用于表示整数,通常占用4个字节内存,可以表示范围较大的整数;- char:用于表示字符,占用1个字节内存,常用于存储ASCII码;- float:用于表示单精度浮点数,占用4个字节内存,可用于表示小数;- double:用于表示双精度浮点数,占用8个字节内存,可用于表示更大范围和更高精度的小数;- void:表示无类型,常用于函数返回类型。

3. 请解释C语言中的变量和常量的概念,并简要说明它们的区别。

变量是用于存储和表示数据的一种方式,可以根据需要改变其值。

在C语言中,变量声明需要指定其类型,并可以为变量命名,并通过赋值来存储数据。

常量是固定不变的值,不能改变其值。

在C语言中,常量可以是字面值常量(直接指定数值或字符)、符号常量(使用预处理器#define 指令定义的常量)或常量表达式(由常量组成的表达式)。

常量在程序执行过程中保持不变。

二、编程题1. 编写一个程序,输入一个整数,判断该数字是奇数还是偶数,并输出相应的提示信息。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数: ");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。

\n", num);} else {printf("%d是奇数。

\n", num);}return 0;}```2. 编写一个程序,计算并输出1到100之间所有奇数的和。

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案在本次大一C程序设计的期末考试中,我们精心准备了以下题目,旨在考察同学们对C语言基础知识的掌握程度以及编程能力。

以下是考试题目及参考答案。

一、选择题(每题2分,共20分)1. C语言中,哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable-nameC. _variableD. variable$name答案:C3. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 若有以下代码片段:```cint a = 5;int b = 10;a = b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 0答案:B5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D6. C语言中,哪个函数用于输入字符?A. scanf()B. printf()C. getchar()D. getc()答案:C7. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. do-while8. 在C语言中,哪个关键字用于定义数组?A. arrayB. listC. vectorD. int[]答案:D9. 下列哪个选项是C语言中的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello" "World"D. 'Hello' 'World'答案:A10. 在C语言中,哪个函数用于输出格式化的字符串?A. printf()B. scanf()C. sprintf()D. fprintf()答案:A二、填空题(每空2分,共20分)1. 在C语言中,使用____关键字可以定义一个函数。

大一学生c语言考试题及答案

大一学生c语言考试题及答案

大一学生c语言考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x123B. 123.0C. 0123D. 0x12.3答案:A2. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 下列哪个运算符不能用于数组?A. []B. +C. *D. /答案:D4. 在C语言中,以下哪个选项不是控制语句?A. ifC. forD. sizeof答案:D5. 若有定义:int a=5; float b=2.5; 则表达式 a%b 的值是多少?A. 0B. 0.0C. 2D. 编译错误答案:D6. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A7. 下列哪个选项是正确的C语言变量声明?A. int $a;B. int _a;C. int 2b;D. int a-b;答案:B8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?B. strncpy()C. strcat()D. strcmp()答案:A9. C语言中,以下哪个选项不是标准输入输出库函数?A. printf()B. scanf()C. fgets()D. malloc()答案:D10. 若有定义:int a=10; 则执行语句 a+=a*=a; 后,变量a的值是多少?A. 100B. 200C. 1000D. 0答案:A二、填空题(每题2分,共20分)1. 在C语言中,字符常量可以用单引号括起来,例如 'A','1',' ' 等,其中 ' ' 表示______。

答案:空格2. C语言中,若要声明一个指向整型的指针变量,可以使用以下语法:int *______;答案:p3. 在C语言中,若要声明一个具有10个元素的整型数组,可以使用以下语法:int ______[10];答案:arr4. 在C语言中,若要声明一个函数,该函数返回整型值,并且接受两个整型参数,可以使用以下语法:int ______(int a, int b);答案:func5. 在C语言中,若要声明一个结构体变量,可以使用以下语法:struct ______ st;答案:StructType6. 在C语言中,若要声明一个枚举类型,可以使用以下语法:enum ______ {E1, E2, E3};答案:EnumType7. 在C语言中,若要声明一个联合体变量,可以使用以下语法:union ______ u;答案:UnionType8. 在C语言中,若要声明一个浮点型数组,可以使用以下语法:float ______[5];答案:arr9. 在C语言中,若要声明一个二维数组,可以使用以下语法:int ______[3][4];答案:arr10. 在C语言中,若要声明一个具有10个元素的字符数组,可以使用以下语法:char ______[10];答案:str三、简答题(每题10分,共20分)1. 请简述C语言中数组和指针的区别。

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

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

c语言程序设计试题及答案C语言程序设计试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable-2答案:C2. 以下哪个语句不是C语言中的输入语句?A. scanf("%d", &x);B. printf("%d", x);C. gets("string");D. getchar();答案:B3. C语言中,以下哪个不是标准库函数?A. printf()B. malloc()C. strcpy()D. main()答案:D4. 以下哪个选项是C语言中正确的数组声明?A. int array[];B. int [10] array;C. int array[10];D. int [10] = array;答案:C5. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello World"答案:C6. C语言中,以下哪个是正确的函数声明?A. int function();B. void myFunction(int x, int y);C. int myFunction(int x, int y) {}D. int myFunction(int x, int y) { return x + y; }答案:B7. 在C语言中,以下哪个是正确的条件语句?A. if (x = 5)B. if (x == 5)C. if (x = 5) { x++; }D. if (x == 5) { x++; }答案:D8. 在C语言中,以下哪个是正确的循环语句?A. for (int i = 0; i <= 10; i++) {}B. for (int i = 0; i < 10; i--) {}C. while (x != 0) { x--; }D. do { x++; } while (x != 0);答案:D9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. *int ptr;C. int ptr*;D. int * ptr;答案:A10. C语言中,以下哪个不是运算符?A. +B. -C. :D. *答案:C二、简答题(每题5分,共30分)1. 请简述C语言中数组和指针的区别。

国家开放大学电大考试《C语言程序设计》题库及答案

国家开放大学电大考试《C语言程序设计》题库及答案

《C语言程序设计》期末综合练习题模拟试题一一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。

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

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

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

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

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

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

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

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

A. char *p=sB. char *p=&sC. char *p;p=*sD. char *p; p=&s10.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。

A. gets( )B. fgets( )C. getc( )D. fgetc( )二、填空题1.执行“printf("%c",'A'+2);”语句后得到的输出结果为(C)。

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

C语言程序设计试题及参考答案C语言程序设计试题及答案(一)1. 若有定义"float x=1.5;int a=1,b=3,c=2;",则正确的switch语句是() (2分)A.switch(x){case 1.0: printf("__ ");case 2.0 printf("____ ");}B.switch((int)x){case 1.0: printf("__ ");case 2.0 printf("____ ");}C.switch(a+b){case 1: printf("__ ");case 2+1: printf("____ ");}D.switch(a+b){case 1: printf("__ ")case c: printf("____ ");}标准答案:C2. 若有宏定义如下:#define X 5#define Y X+1#define Z Y__X/2则执行以下printf语句后,输出的结果是( )int a; a=Y;printf("%d ",Z);printf("%d",--a); (2分)A.7,6B.12,6C.12,5D.7,5标准答案:D3. 下面的.符号常量定义中,正确的是 ( ) (2分)A.#define PI 3.14;B.#include PI 3.14;C.#define PI=3.14D.#define PI 3.14标准答案:D4. 以下程序的输出结果是( )int a, b;void fun(){ a=100; b=200; }main(){ int a=5, b=7;fun();printf("%d%d ", a,b);} (2分)A.100200B.57C.00D.75标准答案:D5. 若有以下调用语句,则不正确的fun函数的首部是( ) main(){ …int a[50],n;…fun(n, a[9]);…} (2分)A.void fun(int m, int x[])B.void fun(int s, int h[41])C.void fun(int p, int __s)D.void fun(int n, int a)标准答案:D6. 以下程序的输出结果是( )fun(int x, int y, int z){ z=x__x+y__y; }main(){ int a=31;fun(5,2,a);printf("%d",a);} (2分)A.0B.29C.31D.无定值标准答案:C7. 以下只有在使用时才为该类型变量分配内存的存储类说明是( ) (2分)A.auto和staticB.auto和registerC.register和staticD.extern和register标准答案:B8. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( ) (2分)A.地址传递B.单向值传递C.由实参传给形参,再由形参传回实参D.传递方式由用户指定标准答案:B9. 以下函数值的类型是( )fun ( float x ){ float y;y= 3__x-4;return y;} (2分)A.intB.不确定C.voidD.float标准答案:A10. C语言规定函数的返回值的类型是由( ) (2分)A.return语句中表达式类型决定B.调用该函数时的主调函数类型决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型决定标准答案:D11. 若有说明:int i,j=7, __p=i; 则与i=j;等价的语句是( ) (2分)A.i= __P;B.__p=__j;C.i=j;D.i=__ __p;标准答案:B12. 以下程序执行后a的值是( )main(){ int a,k=4,m=6,__p1=k,__p2=m;a=p1==m;printf("%d ",a);} (2分)A.4B.1C.0D.a无定值标准答案:D13. 若有说明:long __p,a;则不能通过scanf语句正确给输入项读入数据的程序段是( ) (2分)A.__p=a;scanf("%ld",p);B.p=(long __)malloc(8);scanf("%ld",p);C.scanf("%ld",p=a);D.scanf("%ld",a);标准答案:A14. 以下程序的输出结果是( )#includeint a[3][3]={1,2,3,4,5,6,7,8,9,},__p;main(){p=(int __)malloc(sizeof(int));f(p,a);printf("%d ",__p);}f(int __s,int p[][3]){__s=p[1][1];} (2分)A.1B.4C.7D.5标准答案:D15. 设已有定义: char __st="how are you"; 下列程序段中不正确的是( ) (2分)A.char a[12], __p; strcpy(p=a+1,st[4]);B.char a[12]; strcpy(++a, st);C.char a[12]; strcpy(a, st);D.char a[12], __p; strcpy(p=a[1],st+2);标准答案:B18. 以下程序的输出结果是_____ B___。

main(){char cf[3][5]={"AAAA","BBB","CC"};printf(""%s" ",ch[1]);} (2分)A."AAAA"B. "BBB"C."BBBCC"D."CC"标准答案:B19. 以下程序的输出结果是_______。

main(){int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i for(j=i;j printf("%d ",t); } (2分)A.3B.4C.1D.9标准答案:B20. 在下列变量中,()不是局部变量 (2分)A.register类B.外部static类C.auto类D.函数形参标准答案:BC语言程序设计试题及答案(二)一、单项选择题(20分,每题2分)1.以下叙述中错误的是。

CA)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)当程序执行时,数组元素的下标越界时,系统给出“下标越界”的出错信息D)可以通过赋初值的方式确定数组元素的个数2.以下叙述中,正确的是:CA)continue和break语句只能用于循环体内B)continue和break语句只能用于分支语句中C)continue语句只能用于循环体内D)continue语句只能用于分支语句中3.执行下列程序段后,正确的结果是 Cchar x[8] = {8,7,6,5,0,0}, __s;s = x+1;printf(“%d\n”, s[2]);A) n B) 0 C) 5 D) 64.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:AA)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式5.变量的指针,其含义是指该变量的 BA)值 B)地址 C)名 D)一个标志6.执行下列程序段后,正确的结果是Aint i=5;while(i=1)i--;printf(“%d”,i)A) 5 B) 0 C) 1 D) 无限循环7.for(i=0;i10;i++) Aif(i〈=5) break;则循环结束后i的值为A)0 B)1 C)5 D)108.执行下列程序段后,正确的结果是Cchar x[8] = {8,7,6,5,0,0}, __s;s = x+1;printf(“%d\n”, s[2]);A) n B) 0 C) 5 D) 69.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:AA)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式10.设有数组定义:char str[]=”China”;则下面的输出为Bprintf(“%d”,strlen(str));A)4 B)5 C)6 D)7二、填空题(30分,每空2分)1.C语言提供的三种逻辑运算符是_____、__||___和__!__。

2.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33回车,则输出结果是 1 B 。

#include stdio.hmain(){char a,b;a=getchar();scanf("%d",b);a=a-A+0;b=b__2;printf("%c %c\n",a,b);}3.以下程序运行后的输出结果是 4 3 5 。

main(){int a=3,b=4,c=5,t=99;if(ba ac) { t=a;a=c;c=t;}if(ac bc) {t=b;b=a;a=t;}printf("%d %d %d\n",a,b,c);}4.下面程序将字符数组a复制到字符数组b中。

main(){char a[]="I am a boy.",b[20];int i;for(i=___0____;a[i]!=\0;i++){____ b[i]=a[i]____;}_____ b[i]= \0____;}5.若有定义:double x[3][5];则x数组行下标的上限是__0___,列下标的下限是__4___。

6.以下程序运行后的输出结果是 101 。

#define S(x) 4__(x)__(x)+1main(){int i=2,j=3;printf("%d\n",S(i+j));}7.若有定义:double x[3][5];则x数组行下标的上限是_0____,列下标的下限是_4___。

8.已知宏定义#define s 2+3printf(”%d”,s__4);的输出结果是__14_____。

相关文档
最新文档