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

__ _ _ _ _ _ _ _ _ _ _ _ _ _号学_ _ _ _ _ _ _ _ _ _ _ _ _ _ _名姓班_ _ _ _ _ _ _ _ _ _ _级_ _ _ _ _ _ _ _ _ _院学_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _.四川师范大学计算机科学学院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语⾔程序设计习题(编程题习题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语言程序设计试题含答案一、简答题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语言基础知识的掌握程度以及编程能力。
以下是考试题目及参考答案。
一、选择题(每题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语言考试题及答案一、选择题(每题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语言程序设计试题及答案一、选择题(每题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语言程序设计》期末综合练习题模拟试题一一、单选题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)。
c程序设计考试题目及答案

c程序设计考试题目及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. structB. intC. voidD. return答案:C2. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A3. 若有定义`int a = 5;`,则执行`a += 3;`后,变量a的值是多少?A. 3B. 5C. 8D. 无法确定答案:C4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. $variableD. variable!答案:B5. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World'D. 'Hello, World'答案:A6. C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][];B. int array[][3];C. int array[3][3];D. int array[][];答案:C7. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > y)B. if x > yC. if (x > y) elseD. if (x > y) else if答案:A8. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. for i = 0; i < 10; i++C. for (int i = 0; i < 10;)D. for (i = 0; i < 10; i++)答案:A9. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int, int);B. int add(int a, int b)C. int add(int, int) {}D. int add(a, b)答案:A10. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr[10];D. int ptr(int);答案:A二、填空题(每题2分,共20分)1. 在C语言中,`printf`函数用于__输出__。
大学C语言程序设计考试试题及答案3套

main()
{int a=[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;
for (i=0;i<3;i++)
for(j=0;j<3;j++)
if (i==j) sum=sum+a[j]; printf(“sum=%d\n”,sum);
} 四、编程题(本大题共 4 题,每题 8 分,共 32 分) 1、编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄氏温度,屏幕就显示 对应的华氏温度,输出取两位小数。转换公式:F=(C+32)×9/5 。 2、试编程判断输入的正整数是否既是 5 又是 7 的正倍数。若是,则输出 yes;否则输 出 no。 3、判断数 m 是否为素数(只能被 1 和它本身整除的整数)? 4、对 15 个数进行排序,按从小到大的顺序输出。 《C 语言程序设计》期末考试试卷(A 卷)评分标准及标准答案 一、单项选择题(本大题共 20 题,每题 2 分,共 40 分) 1、 B 2、 D 3、 B 4、 B 5、 C 6、 D 7、 B 8、 B 9、 A 10、D 11、C 12、D 13、D 14、C 15、D 16、C 17、C 18、D 19、C 20、B 二、填空题(本大题共 10 空,每空 2 分,共 20 分) 1、 顺序结构 分支结构 循环结构 2、 单精度型(或:float 型) 双精度型(或;double 型] 3、 1 4、
C 语言期末考试试卷
一 单项选择题(每题 2 分,共 40 分)
1 以下叙述正确的是 。 A C 程序基本组成单位是语句 C C 程序每一行只能写一个语句
B 简单 C 语句必须以分号作为结束符 D 注释语句可以嵌套
C语言程序设计试题及答案多套

. 《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间 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语言考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. classB. structC. functionD. void答案:D2. 以下哪个选项是C语言中的合法整型常量?A. 0x12B. 0x12.5C. 0x12LD. 0x12.5L答案:A3. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello", "World"D. "Hello" 'World'答案:A4. 下面哪个是C语言中的合法变量名?A. 2variableB. variable2C. variable-nameD. variable$name答案:B5. 在C语言中,以下哪个选项是正确的数组声明?A. int array[5];B. int [5] array;C. int array[];D. int array[5][];答案:A6. C语言中,以下哪个运算符用于计算两个整数的差?A. +B. -C. *D. /答案:B7. C语言中,以下哪个选项是正确的条件语句?A. if (condition) { statement; }B. if condition { statement; }C. if (condition) statement;D. if condition statement;答案:A8. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A9. C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. ptr int*;答案:A10. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++) { statement; }B. for (int i = 0; i < 10; i++) statement;C. for i = 0; i < 10; i++ statement;D. for (i = 0; i < 10; i++) { statement; }答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。
(完整版)C语言程序设计习题集及答案

C语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。
A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。
A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。
A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。
A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。
A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。
A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。
printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。
C语言程序设计考试试题(附答案)

C语言程序设计考试试题(附答案) C语言程序设计考试试题(附答案)一、选择题(共30题,每题2分,共60分)1. 下列哪个是C语言关键字?A. printB. variableC. whileD. calculate答案:C2. 在C语言中,下列哪个是合法的变量名?A. 1_helloB. _worldC. v-ariableD. continue答案:B3. 下列哪个是正确的C语言注释方式?A. // This is a commentB. # This is a commentC. /* This is a comment */D. <!-- This is a comment -->答案:C4. 下列哪个是正确的C语言函数定义格式?A. void addNumbers()B. addNumbers()C. function addNumbers()D. int addNumbers()答案:D5. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;float result = x / y;printf("%f", result);return 0;}```A. 2.5B. 2C. 2.000000D. 5答案:B6. 在C语言中,下列哪个是正确的if语句格式?A. if (x > 4) thenB. if (x > 4) { }C. if x > 4D. if (x > 4)答案:D7. 下列哪个是C语言中的逻辑运算符?A. ++B. &&C. %D. =答案:B8. 在C语言中,下列哪个是正确的for循环格式?A. for (x = 0; x < 5)B. for {x = 0; x < 5; x++}C. for (int x = 0; x < 5; x++)D. for (x = 0; x < 5;)答案:C9. 下列哪个是C语言中的自增运算符?A. ++B. +=C. =D. --答案:A10. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;x *= 3 + 4;printf("%d", x);return 0;}```A. 14B. 20C. 21D. 22答案:C11. 在C语言中,下列哪个是正确的switch语句格式?A. switch (x) {case 1;case 2;break;default;break;}B. switch (x) {case 1:case 2:break;default:break;}C. switch (x) case 1:case 2:break;default:break; D. switch (x) { case 1,case 2,break,default,break,}答案:B12. 下列哪个是C语言中的逗号运算符?A. &&B. !C. ,D. |答案:C13. 在C语言中,下列哪个是正确的数组声明?A. array[5]B. [5] arrayC. array[] = [5]D. int array[5]答案:D14. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 0; i <= 5; i++){printf("%d ", i);if (i == 3)continue;}return 0;}```A. 0 1 2 3 4 5B. 0 1 2 3 4C. 0 1 2 3 4 5 6D. 0 1 2 4 5答案:A15. 下列哪个是C语言中的求余运算符?A. /B. +C. %D. *答案:C16. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 4;int y = 5;if (x > 2 || y < 10){printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 || y < 10D. 4 5答案:A17. 在C语言中,下列哪个是正确的do-while循环格式?A. do (x < 5)B. do {x < 5} whileC. do {x < 5} while (x++)D. do {x < 5;} while (x < 5)答案:D18. 下列哪个是C语言中的逻辑非运算符?A. !B. &&C. <D. =答案:A19. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 1; i <= 10; i++){if (i % 2 == 0)continue;printf("%d ", i);}return 0;}```A. 1 2 3 4 5 6 7 8 9 10B. 1 3 5 7 9C. 2 4 6 8 10D. 1 2 4 8答案:B20. 下列哪个是C语言中的减法运算符?B. +C. -D. *答案:C21. 在C语言中,下列哪个是正确的数组初始化方式?A. int array[5] = {1, 2, 3}B. array[5] = {1, 2, 3}C. int array[] = {1, 2, 3}D. int array[5] = {1, 2, 3,}答案:C22. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 7;if (x > 2 && y < 10)printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 & y < 10D. x > 2 || y < 10答案:A23. 下列哪个是C语言中的除法运算符?A. /B. +C. %答案:A24. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 7;int y = (x > 5) ? 10 : 5;printf("%d", y);return 0;}```A. 7B. 5C. 10D. 15答案:C25. 在C语言中,下列哪个是正确的while循环格式?A. while (x < 5;)B. while {x < 5;}C. while (x < 5)D. while {x < 5}答案:C26. 下列哪个是C语言中的位运算符?A. ||B. &&C. !D. &答案:D27. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;int y = 3;if (x = y){printf("Equal");}else{printf("Not equal");}return 0;}```A. EqualB. Not equalC. 2D. 3答案:A28. 在C语言中,下列哪个是正确的goto语句格式?A. goto label;B. goto (label);C. gote labelD. go to label答案:A29. 下列哪个是C语言中的加法运算符?A. /B. +C. %D. *答案:B30. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;int result = x % y;printf("%d", result);return 0;}A. 2B. 1C. 3D. 0答案:B二、编程题31. 编写一个C语言程序,在屏幕上输出从1到100的所有偶数。
大一学生c语言考试题及答案

大一学生c语言考试题及答案一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义`int a[5] = {1, 2, 3, 4, 5};`,则`a[0]`的值是多少?A. 0B. 1C. 2D. 3答案:B3. 在C语言中,以下哪个函数用于计算两个整数的乘积?A. max()B. min()C. pow()D. multiply()答案:D4. 若`x`和`y`均为`int`类型,则表达式`(x = 2, y = x + 1)`的值是多少?A. 2B. 3C. 4D. 5答案:B5. C语言中,以下哪个运算符用于计算两个数的指数?A. ^B.C. *D. /答案:B6. 若有定义`int a = 10;`,则执行`a += 5;`后,`a`的值是多少?A. 10B. 15C. 25D. 5答案:B7. 在C语言中,以下哪个关键字用于声明一个函数?A. defineB. functionC. voidD. int答案:C8. 若有定义`float x = 3.14;`,则`x`的类型是什么?A. intB. floatC. doubleD. char答案:B9. 在C语言中,以下哪个运算符用于字符串连接?A. +B. +=C. ==D. !=答案:A10. 若有定义`char c = 'A';`,则执行`c += 1;`后,`c`的ASCII值是多少?A. 65B. 66C. 67D. 68答案:C二、填空题(每题2分,共20分)1. C语言中,`printf`函数用于__输出__数据到屏幕。
答案:输出2. 若`int a = 5;`,则`sizeof(a)`的值是__4__。
答案:43. 在C语言中,`%d`用于格式化输出__整型__变量。
答案:整型4. 若`float b = 3.14;`,则`b`的类型是__浮点型__。
大学_C语言程序设计试卷及答案

C语言程序设计试卷及答案C语言程序设计试卷一、单项选择题(20分,每题2分)1.A2.A3.B4.A5.C6.B7.C8.A9.C 10.C二、填空题( 30分,每空2分)(1) 14(2) 1(3) b,c(4) a,c(5) a, b(6) 0(7) 函数说明(8) 函数名(9) 圆括号中的形式参数(10) 0(11) "C:\\TC\\LIB"(12) "C:\\TC\\LIB"(13) "He said:\"I\ m a student.\""(15) -t三、写出程序的运行结果(30分,每题10分)1. 362. efgh3. (1) 函数sub( )的功能是根据当前实参i的值控制其for循环的次数,进一步控制运算:product__=2的次数。
(注:非标准答案,表述相近既可)(2) 运行结果:sum0=1sum1=3sum2=7sum3=15四、编程(完形填空)(20分,每题10分)1.(1) 0(2) =(3) ||(4)(5) \n2.(7) \0(8) i++(9) str2[i]-str1[i](10) %dC语言程序设计试卷答案一、单项选择题(20分,每题2分)1.若整型变量a、b、c、d中的值依次为:1、4、 3、2。
则条件表达式(ab?a:b)(cd?c:d)的值是。
A)1 B)2 C)3 D)02.for(i=0;i10;i++)if(i〈=5) break;则循环结束后i的值为A)0 B)1 C)5 D)103.下面正确的字符常量是:A)“c” B)\\ C)W D)4.C语言中,运算对象必须是整型的运算符是:A)% B)/ C)__ D)+5.数字字符0的ASCII值为48,若有以下程序{char a=1, b=2;printf("%c,",b++);printf("%d\n",b-a);}程序运行后的输出结果是。
C语言程序设计试题及参考答案

C语言程序设计一、选择题(共40分,每小题2分)1、以下叙述不正确的是(D)A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面2、下列四个选项中,是不合法的用户标识符的选项是(B)A、3A、4A、<B5、在CA、%6ABCD7、在Cprintf(A、7B8、x、yA、C、9{intm,n;scanf(“%2d%3d”,&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=0printf(“}A、1,514A、C、15}}A、30C、1016ABCD17、以下函数调用语句中含有的实参个数为(B)func((exp1,exp2,exp3),(exp4,exp5));A、1B、2C、4D、518、在C语言程序中,以下说法正确的是(B)。
A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数的调用都不可以嵌套D、函数的定义和函数的调用都可以嵌套19、请读程序longfun5(intn){longs;if((n==1)||(n==2))s=2;elses=n+fun5(n-1);return(s);}main(){longx;x=fun5(4);printf(%ld\n”,x);}上面的程序的运行结果是(A)A、9B20inti,A、1、若a2、C3、在C4、如a5、若6、当78910、在1main(){inty=10for(;{printf(continue;}}2、有以下程序段,若输入1298,则输出结果是main(){intn1,n2;scanf(“%d”,&n2);while(n2!=0){n1=n2%10?;n2=n2/10;printf(“%d”,n1);}3、以下程序的输出结果是d1=7d2=5#include“stdio.h”fun(intb){intd=5;d+=b++;printf(“d1=%d\n”,d);}main(){inta=2,d=3;Fun(a);d+=a++printf(“}4#f(intn){case0:case1:case2:}}main(){intk;k=f(5);printf(“}129089~8079~70等级为C69~60等级为D60以下等级为EC语言程序设计参考答案一、选择题1---------5DBABA6---------10CCBCA11--------15ACCCA16--------20ABBAD二、填空题1)、122)、&&||!3)、104)、25)、16)、07)、whilefor8)、249)、08010)、函数头函数体声明执行三、程序分析1)、8522)、89213)、d1=74)、k=5d2=5四、编程1、#include<stdio.h>main(){intsum=0,i;for(i=1;i<=100;i++)sum=sum+I;p}2sccccd}}。
C语言程序设计试题及答案解析

C语言程序设计试题及答案解析第1、2、3章概述、类型、表达式一、选择题1、一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列D、其他函数可以任意,主函数必须在最后2、下列四个叙述中,正确的是:()A、C程序中的所有字母都必须小写B、C程序中的关键字必须小写,其他标示符不区分大小写C、C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写3、下列四个叙述中,错误的是:()A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数C、在C源程序中注释说明必须位于语句之后D、C源程序的基本结构是函数4、下面不是C语言合法标识符的是:()A、abcB、5nC、_4mD、x35、以下叙述不正确的是:()A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、C语言中允许的基本数据类型包括:()A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、C语言中能用八进制表示的数据类型为:()A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、下列属于C语言合法的字符常数是:()A、’\97’B、”A”C、’\t’D、”\0”9、在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:()A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、在C语言中(VC环境),一定是长整型常数的是:()A、0LB、4962710C、0412765D、0xa34b7fe11、若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:()A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、以下合法的赋值语句是:()A、x=y=100B、d--;C、x + yD、c = int(a+b);13、设变量t为int型,下列选项中不正确的赋值语句是:()A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、在以下一组运算符中,优先级最高的是:()A、<=B、==C、%D、&&15、下列能正确表示a≥10或a≤0的关系表达式是:()A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、下列只有当整数x为奇数时,其值为“真”的表达式是:()A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、!(x%2)17、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:()A、0B、语法错C、1D、“假”19、表达式17%4 /8的值为:()A、0B、1C、2D、320、语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:()A、无输出B、结果不确定C、-1D、121、一个可执行的C程序的开始执行点是:()A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、组成C语句的一个必不可少的符号是:()A. 逗号B. 引号C. 冒号D. 分号23、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:()A. intB. longC. floatD. double24、下述是C语言中有关变量定义的几个说法,正确的是:()A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、与x * = y + z等价的赋值表达式是:()A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、当代电子计算机能够自动地处理指定的问题是因为:()A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、以下叙述中最准确的是:()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、关于计算机程序设计,以下描述最准确的是:()A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、目前编写计算机程序一般采用的是:()A.机器语言B.汇编语言C.高级语言D.英语30、设计一个计算机程序最基本的工作是:()A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是31、算法具有五个特性,以下选项中不属于算法特性的是:()A.有穷性B.简洁性C.可行性D.确定性32、下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套33、C语言是一种:()A.机器语言B.汇编语言C.高级语言D.以上都不是34、C语言源程序的扩展名为:()A..exe B..c C..obj D..cpp 35、C程序编译后最终产生(即计算机执行)的文件的扩展名为( )A..exe B..c C..obj D..cpp 36、下列各项中,不是C语言的特点是:()A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数38、下列叙述正确的是:()A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、以下为C语句的是:()A.a=8 B.a++;C.if(a>8) D. #include <stdio.h> 以下不是C语句的是:()A.a=8; B.a++;C.if(a>8);D.for(i=1;i<5;i++)42、以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、C程序中的复合语句指的是:()A.并列的多个C语句B.写在同一行中的多个C语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
c语言程序设计考试题答案及解析

c语言程序设计考试题答案及解析一、选择题1. 在C语言中,以下哪个关键字用于声明变量?A. TypeB. VarC. DeclareD. None of the above答案:D解析:在C语言中,变量的声明是通过指定变量的类型和名称来实现的,而不是使用特定的关键字。
选项A、B和C都不是C语言中用于声明变量的关键字。
2. 下列哪个是C语言中的合法标识符?A. 2variableB. variable2C. variable!D. variable$答案:B解析:C语言中的标识符可以包含字母、数字和下划线,但不能以数字开头,也不能包含特殊字符如感叹号或美元符号。
因此,选项B 是合法的标识符。
二、填空题1. 在C语言中,____ 用于定义一个整型变量。
答案:int2. 以下代码片段的输出是什么?```cint main() {int a = 10;printf("%d", a);return 0;}```答案:10三、简答题1. 简述C语言中数组的定义和初始化方法。
答案:在C语言中,数组可以通过指定类型和大小来定义,例如`int arr[10];` 定义了一个包含10个整数的数组。
数组可以通过循环或直接赋值来初始化,例如:```cint arr[5] = {1, 2, 3, 4, 5};```或者使用循环:```cint arr[5];for(int i = 0; i < 5; i++) {arr[i] = i + 1;}```四、编程题1. 编写一个C语言程序,实现计算并输出1到10的和。
```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 10; i++) {sum += i;}printf("The sum of numbers from 1 to 10 is: %d\n", sum);return 0;}```解析:该程序使用一个for循环来累加1到10的整数,并将结果存储在变量`sum`中。
大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,错误的是:A. 变量名必须以字母开头B. 变量名中可以包含下划线C. 变量名区分大小写D. 变量名可以包含数字答案:D2. C语言中,用于定义字符常量的是:A. 单引号B. 双引号C. 反引号D. 尖括号答案:A3. 下列哪个选项不是C语言中的运算符?A. 赋值运算符B. 关系运算符C. 逻辑运算符D. 条件运算符答案:D4. 在C语言中,用于定义一个整型数组的语句是:A. int array[5];B. int array[];C. int array[5]={0};D. int array[5]={0,1,2,3,4};答案:A5. 下列关于C语言函数的描述,正确的是:A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 所有选项都是正确的答案:D6. C语言中,用于输入输出的库函数是:A. printfB. scanfC. printf和scanfD. 以上都不是答案:C7. 下列关于C语言中指针的描述,错误的是:A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B8. 在C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A9. 下列关于C语言中循环的描述,错误的是:A. for循环可以没有初始化部分B. while循环可以嵌套使用C. do-while循环至少执行一次D. 循环体内可以包含break语句答案:A10. C语言中,用于定义枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义整型变量的关键字是____。
答案:int2. 在C语言中,表示逻辑与的运算符是____。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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_____。