C试题库
c语言期末考试题库及详解答案
c语言期末考试题库及详解答案C语言期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中正确的整型常量?A. 0.1234B. 0x12ABC. 0b1010D. 1e10答案:B2. C语言中,以下哪个关键字用于定义变量的存储类别?A. staticB. constC. typedefD. volatile答案:A3. 在C语言中,以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B4. 下列哪个选项是C语言中正确的字符常量?A. 'A'B. "A"C. AD. 65答案:A5. 在C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. pow()D. sqrt()答案:A二、填空题6. C语言中,用于定义数组的关键字是______。
答案:int7. C语言中,用于输入输出的库函数分别是______和______。
答案:scanf(); printf()8. C语言中,若要定义一个指针变量,需要使用关键字______。
答案:int*9. C语言中,用于定义函数的关键字是______。
答案:void 或其他数据类型10. C语言中,若要实现字符串的复制,可以使用库函数______。
答案:strcpy()三、简答题11. 简述C语言中结构体的定义方式。
答案:在C语言中,结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。
结构体的定义方式如下:struct 结构体名 {数据类型成员名1;数据类型成员名2;...};12. 解释C语言中的递归函数。
答案:递归函数是一种函数自己调用自己的特殊函数。
递归函数通常用于解决可以被分解为相似子问题的问题。
递归函数需要有一个明确的终止条件,以防止无限递归。
四、编程题13. 编写一个C语言程序,实现求一个整数的阶乘。
答案:```c#include <stdio.h>long factorial(int n) {if (n <= 1) return 1;else return n * factorial(n - 1);}int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("Factorial of %d = %ld", num, factorial(num)); return 0;}```14. 编写一个C语言程序,实现字符串的反转。
C语言题库
C语言题库第一篇:C语言题库1、用Access创建的数据库文件,其扩展名是______。
A:.adp B:.dbf C:.frm D:.mdb 答案:D2、数据库系统的核心是______。
A:数据模型 B:数据库管理系统 C:数据库 D:数据库管理员答案:B3、数据库系统是由数据库、数据库管理系统、应用程序、______、用户等构成的人机系统。
A:数据库管理员 B:程序员 C:高级程序员D:软件开发商答案:A4、在数据库中存储的是______。
A:信息 B:数据 C:数据结构 D:数据模型答案:B5、在下面关于数据库的说法中,错误的是______。
A:数据库有较高的安全性 B:数据库有较高的数据独立性 C:数据库中的数据可以被不同的用户共享D:数据库中没有数据冗余答案:D6、下面关于新型数据库的说法中,错误的是______。
A:数据仓库不是一个新的平台,仍然使用传统的数据库管理系统,而是一个新的概念B:分布式数据库是一个数据在多个不同的地理位置存储的数据库C:面向对象数据库仍然采用传统的关系型数据库管理系统D:空间数据库是随着地理信息系统gis的开发和应用而发展起来的数据库新技术答案:C7、不是数据库系统特点的是______。
A:较高的数据独立性B:最低的冗余度 C:数据多样性 D:较好的数据完整性答案:C8、在下列数据库管理系统中,不属于关系型的是______。
A:Micorsoft Access B:SQL server C:Oracle D:DBTG系统答案:D9、Access是______数据库管理系统。
A:层次B:网状C:关系型 D:树状答案:C10、在Access中,数据库的基础和核心是______。
A:表B:查询 C:窗体 D:宏答案:A11、在下面关于Access数据库的说法中,错误的是______。
A:数据库文件的扩展名为mdb B:所有的对象都存放在同一个数据库文件中 C:一个数据库可以包含多个表D:表是数据库中最基本的对象,没有表也就没有其他对象答案:B12、在一个单位的人事数据库,字段“简历”的数据类型应当为______。
c语言考试及答案
c语言考试及答案————————————————————————————————作者:————————————————————————————————日期:浙江理工大学C程序设计试题(一)试题二、语言基础题(本题共30分)(一)判断题(本题共10分,每小题1分)说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。
(16) C语言程序的三种基本结构是顺序、选择和嵌套。
(17) 在C语言程序中,在函数内部定义的变量称为全局变量。
(18) 运算符“=”和“&=”的优先级相同。
(19) ‘%f’是不正确的字符常量。
(20) 运算符“+”不能作为单目运算符。
(21) 如果运算符“*”和“/”都是右结合的,则表达式10*6/5的值是10。
(22) s(s-a)(s-b)(s-c)是合法的C语言表达式。
(23) 表达式!!6的值是6。
(24) 表达式~(~2<<1)的值是5。
(25) 对于变量定:int a[10],*p=a+8;数组a的最后一个元素是p[1]。
(二)单选题(本题共20分,每小题2分)(26) 执行语句printf("(26) ","A");将得到出错信息。
A、%uB、%sC、%eD、%d(27) 设c是一个字符变量,求解表达(27) 后,c的值不是1就是0。
A、c=getchar()!=’\n’B、(c=getchar()!)=’\n’C、c=’1’D、c=EOF(28) 下列定义中,(28) 定义的变量可以存放-123.4。
A、long a;B、unsigned b;C、int d;D、float c;(29) 对于变量定义;char *pp[100],pp是一个(29) 。
A、函数B、数组元素C、指针变量D、数组(30) 下列程序段的输出结果是(30) 。
char *st[ ]={ "SUM","MOON","STAR","X"};printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2)A、(MOON,M)B、(OON,C)C、(OON,Q)D、(OON,A)(31) 对于以下的变量定义,表达式(31) 是不正确的。
c语言期末考试题库大题及详解答案
c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。
答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。
整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。
每种数据类型都有其特定的取值范围和占用内存大小。
2. 请解释C语言中的数组和指针的区别。
答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。
指针是一个变量,它存储另一个变量的内存地址。
数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。
二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。
答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。
答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。
C语言试题库(完整版)
C语言试题库一、单项选择第一章C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C、本程序的MAIN函数开始,到本程序的最后一个函数结束。
D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。
(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。
B、C程序的每行中只能写一条语句。
C、C语言本身没有输入输出语句。
D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
(3)C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。
B、必须在系统调用的库函数的后面C、可以在任意位置。
D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=(i=4, j=16, k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、i f, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4)以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5)若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#incl ude “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”);else printf(“$ $ $\n”);}以上程序。
(完整版)C语言考试试题基础版
(完整版)C语言考试试题基础版一、选择题1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为。
A. mainB. MAINC. nameD. function2. 在以下关于C 语言的注释的叙述中,不正确的是。
A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示B .编译器在编译一个程序时,将跳过注释,不对其进行处理C .编译器在编译一个程序时,可发现注释中的单词拼写错误D .程序中注释的多少不会影响所生成的可执行文件的长度3. 以下叙述不正确的是。
A .在C 程序中,严格区分大小写字母B .一个C 源程序有且仅有一个main 函数C .在C 程序中,注释只能位于一条语句的后面D .一个C 程序总是从main 函数开始执行4. 下列合法的标识符为A. abde+B. #KDJFC. 67KDJD. DK3_5. 关于字符串和字符的关系正确的是A. “A ”与’A ’是相同的B. 字符串是常量,字符是变量C. “A ”与’A ’是不同的D. “A ”与“A ”是相同的6. 下面关于语句的说法正确的是A. 下面这两段程序的执行效果是一致的B. 空语句是只有一个分号的语句,它其实什么也不干C. 语句的构成不一定需要分号D. 语句的书写对程序的运行不起作用,因此可以随便写都可以7. 以下各标识符中,合法的用户标识符组为。
A. PAd ,P#d ,b-b ,abc ,_0123,ssipedB. cin ,a10,CPP ,float ,del_word ,signedC. void ,max ,hiy ,,list ,*jerif (x>y){z=x; s=z*z;}else{z=y;s=1/(z*z);}if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);D.a,temp,_isw,INT,keep,wind8.字符串“\”E OF= -\61\””的长度是。
c语言试卷集(10套)-试题及答案
c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。
A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。
A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。
A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。
A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。
C程序设计题库(含答案)
B、定义该变量的函数中的定义处以下的任何语句都可以访问。
C、定义该变量的复合语句的定义处以下的任何语句都可以访问。
D、局部变量可用于函数之间传递数据。
答案:D
17.若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:()
C程序设计题库
一、单项选择题
1. 基础知识
1、以下说法中正确的是()
A、C语言程序总是从第一个的函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
答案:C
2、下列字符序列中,可用作C标识符的一组字符序列是()。
A) 10<回车>B) 10.0,22.0,33.0<回车>
22<回车>
33<回车>
C) 10.0<回车> D) 10 22<回车>
22.0 33.0<回车> 33<回车>
答案:B
2.三大结构
(1)下列程序的运行结果是()
#include <stdio.h>
void main()
{
char c1 = '6', c2 = '0';
if( b < 0) c = 0;
else c = c + 1;
printf("%d\n",c);
C语言题库(带答案)-排版
一、选择题1、以下不能定义为用户标识符的是( )。
2、以下不能定义为用户标识符的是( )3、下面属于C 语言标识符的是( )。
4、下列符号中用来表示C 语言中的回车换行的是( )。
(A) \r 5、在计算机系统中,可执行程序是( ) (A) 源代码(B)汇编语言代码(D) ASCII 码6、在Visual C++ 6.0环境下,C 源程序文件名的默认后缀是( )。
7、Microsoft Visual C++ 6.0 中,C语言可执行程序的扩展名是:( )或cpp (D) txt 8、C 程序由( )组成。
(A)子程序(B) 主程序和子程序过程 9、C 程序的基本组成单位( )。
(A)数据类型 (B) 变量和常量 表达式 10、C 语言中主函数的个数是( )。
(A) 2个 任意个 (D) 10个 11、一个C 程序的执行是从( )(B)本程序文件的第一个函数开始,到本程序文件最后一个函数结束. (C)本程序文件的第一个函数开始,到本程序main 函数结束. (D)本程序的main()函数开始,到本程序文件的最后一个函数结束. 12、以下叙述正确的是(A)在C 语言程序中,main函数必须放在其他函数的最前面 (C)在C 语言程序中,只有main 函数才可单独进行编译 (D)每个后缀为.C 的C 语言源程序都应该包含一个main 函数 13、设变量a 是整型,b 是实型,c是双精度型,则表达式2+’a’+b*c 值的数据类型是( )。
(A) int (B) float 14、以下选项中表示一个合法的常量是(说明:符号□表示空格) A) 9□9□15、以下选项中非法的字符常量是16、以下选项中,能表示逻辑值“假”的是17、下列关系表达式中,结果为“假”的是18、关于C 语言变量,以下说法不正确的是( ) (A) 变量名由程序员定义,必须符合标识符的命名规则。
(B) 变量是程序运行过程中其值可以改变的量。
C语言试题库(含答案)
一、单项选择题(每小题2分)【1】设字符型变量ch的值为'A',整型变量m的值为'1',假定执行putchar (m);putchar ('');putchar (ch);后,则输出结果是。
A、A1B、lAC、AlD、1A标准答案:D【2】有如下函数调用语句fuc(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是。
A、3B、4C、5D、有语法错标准答案:A【3】有以下函数定义: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);标准答案:C【5】设有以下程序片段,请问执行后的输出结果是int i=010,j=10,k=0xl0;print f("%d,%d,%d",k,j,i);A、16,10,8B、81016C、10,10,10D、8,10,16标准答案:A【9】有如下程序段:char str[14]={"Iam"};strcat(str,"sad!");scanf("%s",str);print f("%s",str);当输入为happy!<CR>时,输出的结果是()。
A、Iamsad!B、happy!C、Iamhappy!D、happy!ad!标准答案:B【11】以下if语句中格式正确的是A、if(a>b)b++else a++;B、if(a>b){b++;print f("%d",b);}else {a++;print f("%d",a);}C、if(a>b){b++;print f("%d",b)}else {a++;print f("%d",a);}D、if(a>b)b++;print f("%d",b);else print f("%d",a);标准答案:B【1】设有整型变量m值为8,下列赋值语句中,正确的是。
c语言题库(60道题)
第一题:编写一个售货机(POS)计算程序,用于水果店售货员算账。
苹果每千克 3.2元,梨每千克1.96元,香蕉每千克3元,樱桃每千克24元。
某顾客购买1.5斤苹果,2斤梨,3斤香蕉,1.5斤樱桃,付给售货员100元。
要求规范输出这位顾客购买各类水果的名称,对应的重量和应付价钱,显示顾客所付款项,输出应找回的款项。
#include<stdio.h>main(){float apple=1.5,pear=2.0,banana=3.0,cherry=1.5;float cost,pay=100.0,retern;cost=3.2*apple+1.96*pear+3.0*banana+24.0*cherry;retern=pay-cost;printf("LIST\t重量:\t价钱:\n");printf("apple\t1.5\t%.2f\n",3.2*apple);printf("pear\t2.0\t%.2f\n",1.96*pear);printf("banana\t3.0\t%.2f\n",3.0*banana);printf("cherry\t1.5\t%.2f\n",24.0*cherry);printf("pay=%.2fRMB\ncost=%.2fRMB\nretern=%.2fRMB\n",pay,cost,retern);}第二题:编写一个程序,对输入的一组整数,分别统计其中正整数和负整数的个数(0作为结束标志)。
#include<stdio.h>main(){int a[]={12,1648,500,-322,41,-15,126,-45,0,45,-356},i=0,m=0,n=0;for(i=0;a[i]!=0;i++){if(a[i]<0)m++;else if(a[i]>0)n++;}printf("%d\n%d\n",m,n);}第三题:统计100-500之间各个数字之和为9的三位数,输出这些三位数。
(完整版)C语言试题
(完整版)C语言试题第1章 C语言概述一、选择题:1、一个C语言程序是由 C 组成。
A.主程序B.子程序C.函数D.过程2、一个C语言程序总是从 C 开始执行。
A.主程序B.子程序C.主函数D.函数3、以下叙述正确的是 D 。
A. 在C程序中,main函数必须位于子程序的最前面B. C程序的每一行中只能写一条语句C. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误D. C语言本身没有输入输出语句5、下面标识符中,不合法的用户标识符为 D 。
A. PadB. a_10C. _124D. a#b15、下列关于c语言用户标识符的叙述中正确的是 B 。
A. 用户标识符中可以出现下划线和中划线(减号)B. 用户标识符中不可以出现中划线,但可以出现下划线C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头1、下列选项中,可以作为C语言标识符的是()A、3stuB、#stuC、stu3D、stu.32、下列选项中,不可以作为C语言标识符的是()A、 numB、turbo_cC、printfD、student33、请选出可用作C语言用户标识符的一组标识符( )A、void, define, WORDB、a3_b3,_123,IF_AC、FOR,——abc, CaseD、2a,Do,Sizeof4、以下叙述正确的是。
A.在C程序中,main函数必须位于子程序的最前面B.C程序的每一行中只能写一条语句C.在对一个C程序进行编译的过程中,可发现注释中的拼写错误D.C语言本身没有输入输出语句【答案】D【解析】每一个C源程序都必须有、且只能有一个主函数(main函数),但是不必位于最前面,编译之后,运行是会自动搜寻到main函数并开始执行,A项错误;书写程序时,为了清晰,便于阅读和理解,一般是一个说明或一个语句占一行,但这不是必须的,B项错误;编译过程中不对注释进行编译,所以发现不了编译中的拼写错误,C项错误;C语言本身没有输入输出语句,scanf函数和printf函数是标准输入输出库函数,其头文件为stdio.h,D项为答案。
C综合复习题
C综合复习题复习题一、单选题1、一个C源程序至少应包括一个( C )。
A、功能函数B、自定义函数C、main函数D、头文件2、下面全不正确的字符常量是(C)。
A、A p_0 DoB、float la0 _AC、 b-a goto intD、_123 temp INT3、执行以下语句后b的值是( B )Aint a=5,b=6,w=1,x=2,y=3,z=4;(a=w>x)&&(b=y>z);&&一边为0另一边不算,||一边为1另一边不算A、6B、0C、1D、44、若以下变量均是整型,且num=sum=7 ; 则计算表达式sum=num++,sum++,++num后sum的值为(B )A、7B、8C、9D、105、设a=10,b=4,执行以下赋值语句后,a的值为( A)a%=b+1A、0B、1C、2D、36、当a=5,b=4,c=2时,表达式a>b !=c的值是( D )A、5B、4C、2D、17、条件“2<x<-10”的c语言表达式是(="" )<=""></xA、2<x<-10<="" ||=""></xB、2<x<3&&x<-10< bdsfid="102" p=""></x<3&&x<-10<>C、x<3||x>2&&x<-10D、x<3&&x>2||x<-10 有交集用&&无交集用||8、以下程序的运行结果是( C)main (){int m=5 ;if(m++>5)printf(“%d ”,m);else printf(“%d”,m--);}A、4B、5C、6D、79、以下程序的输出结果是( B )A、main( ){int x=2,y=-1,z=2;if(x<y)< bdsfid="121" p=""></y)<>if(y<0)z=0;else z+=1;printf(“%d”,z);}A、3B、2C、1D、010、以下对二维数组a的正确说明是( C )A、int a[3][]B、float a(3,4)C、double a[1][3]D、float a(3)(4)11、阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为( D )。
c语言填空试题库及答案
c语言填空试题库及答案1. 在C语言中,用于定义变量的关键字是______。
答案:int2. 下列哪个选项是C语言中合法的字符串常量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"D. "Hello, World!"答案:A3. 在C语言中,用于定义一个函数的关键字是______。
答案:void4. 下列哪个选项是C语言中的逻辑运算符?A. %B. ||C. &&D. ==答案:C5. 在C语言中,用于声明一个指针变量的语法是______。
答案:int *p;6. 下列哪个选项是C语言中正确的循环结构?A. forB. whileC. do-whileD. All of the above答案:D7. 在C语言中,用于定义一个结构体的关键字是______。
答案:struct8. 下列哪个选项是C语言中用于文件操作的函数?A. printf()B. scanf()C. fopen()D. fclose()答案:C9. 在C语言中,用于定义一个枚举类型的关键字是______。
答案:enum10. 下列哪个选项是C语言中用于动态内存分配的函数?A. malloc()B. free()C. Both A and BD. None of the above答案:C11. 在C语言中,用于定义一个联合体的关键字是______。
答案:union12. 下列哪个选项是C语言中用于输入输出的库?A. math.hB. stdio.hC. string.hD. time.h答案:B13. 在C语言中,用于定义一个宏的预处理命令是______。
答案:#define14. 下列哪个选项是C语言中用于数组的声明?A. int arr[10];B. int *arr;C. int arr[];D. All of the above答案:D15. 在C语言中,用于定义一个二维数组的语法是______。
C语言选择题题库(116道)
C语言选择题1、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将()。
——[单选题]A 生成可执行目标文件B 生成目标文件C 输出运行结果D 自动保存源文件正确答案:B2、一个C语言程序是由()——[单选题]A 一个主程序和若干子程序组成B 函数组成C 若干过程组成D 若干子程序组成正确答案:B3、C 程序的执行过程在下列说法中,▁▁▁▁▁ 是正确的。
——[单选题]A C 程序从第一个函数开始执行,直到最后一个函数结束B C 程序从第一个函数开始执行,直到主函数结束C C 程序从主函数开始执行,直到最后一个函数结束D C 程序从主函数开始执行,直到主函数结束正确答案:D4、结构化程序由三种基本结构组成,三种基本结构组成的算法——[单选题]A 可以完成任何复杂的任务B 只能完成部分复杂的任务C 只能完成符合结构化的任务D 只能完成一些简单的任务正确答案:A5、以下叙述中错误的是()——[单选题]A c语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B c程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C 用c语言编写的程序称为源程序,它以ASCIl代码形式存放在一个文本文件中D c语言源程序经编译后生成后缀为.obj的目标程序正确答案:A6、以下叙述中,正确的是。
——[单选题]A C语言程序总是从第一个函数开始执行B 在C语言程序中,要调用的函数必须在main()函数中定义C C语言程序总是从main()函数开始执行D C 语言程序中的main()函数必须放在程序的开始部分正确答案:C7、C 风格的注释 C 风格的注释,也称块注释或多行注释,以▁▁▁ 开始,以▁▁▁ 结束。
——[单选题]A /* 和 */B { 和 }C [ 和 ]D ( 和 )正确答案:A8、空语句仅有一个▁▁▁▁▁ 的语句称为空语句。
——[单选题]A 逗号( , )B 句号( . )C 分号( ; )D 冒号( : )正确答案:C9、c语言规定,在一个源程序中,main函数的位置()。
(完整版)C语言考试题库及答案
(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
C程序设计题库
C程序设计题库一、选择题1、一个C语言的源程序中(A)。
(A)必须有一个主函数(B)可以有多个主函数(C)必须有主函数和其他函数 (D)可以没有主函数2、C语言中基本数据类型包括(B )。
A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、实型3、putchar ( )函数可以向终端输出一个(D)。
A.整型变量表达式值B.实型变量值C.字符串D.字符或字符型变量值4、若有以下类型说明语句:char w;int x;float y;double z;则表达式w*x+z-y的结果为( B )类型。
A、floatB、doubleC、intD、char5、一个函数返回值的类型是由( B )决定的A、return语句中的表达式类型;B、定义函数时所指定的函数类型C、调用该函数的函数的类型D、调用函数时临时类型6、以下对二维数组的定义中正确的是( C )A.int a[4][]={1,2,3,4,5,6};B.int a[][3];C.int a[][3]={ 1,2,3,4,5,6};D.int a[][]={{1,2,3},{4,5,6}};7、下列(B )是合法强制类型转换。
A. float(n)B. (float)nC.(float)(n)D. (float n)8、以下有关switch语句的正确说法是( B )。
A. break语句是语句中必须的一部分B. 在switch 语句中可以根据需要使用或不使用break语句C. break语句在switch 语句中不可以使用D. 在switch 语句中的每一个case都要用break语句9、以下不正确的描述是(D)A. 在函数外部定义的变量是全局变量B. 在函数内部定义的变量是局部变量C. 函数的形参是局部变量D. 局部变量不能与全局变量同名10、有关以下函数的哪些说法是正确的( B)int add( int x;int y){z=x+y;return z;}A. 此函数能单独运行B. 此函数存在语法错误C. 此函数通过main函数能调用D. 此函数没有语法错误11、有以下程序,程序运行结果( B )。
(完整版)C语言题库(带详解答案)
一单项选择题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从 C开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是( B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while 为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
c语言c语言考试题库及答案
c语言c语言考试题库及答案一、选择题1. 在C语言中,用于定义变量的关键字是:A. defineB. varC. intD. let答案:C2. 下列哪个是C语言中的合法标识符?A. 2variableB. variable2C. variable-twoD. variable#答案:B3. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\tWorld"答案:A5. 以下哪个是C语言中的控制语句?A. ifB. switchC. both A and BD. none of the above答案:C二、填空题6. 在C语言中,一个基本的程序结构包括____、____和____。
答案:预处理指令;函数定义;语句7. 一个C语言程序的执行从____函数开始。
答案:main8. 在C语言中,使用____关键字可以定义一个函数。
答案:void 或其他数据类型9. 一个C语言数组的元素默认情况下是按照____顺序存储的。
答案:连续10. C语言中的____运算符用于连接字符串。
答案:+三、简答题11. 解释C语言中指针的概念。
答案:指针是一种变量,它存储了另一个变量的内存地址。
通过指针,可以直接操作内存地址中的数据,实现数据的间接引用。
12. 描述C语言中结构体的定义和使用。
答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的变量组合成一个单一的类型。
定义结构体时,使用struct关键字,然后定义结构体的名称和成员。
使用结构体时,可以创建结构体变量,并通过点(.)运算符访问其成员。
四、编程题13. 编写一个C语言程序,计算并输出1到100的整数之和。
(完整版)C语言试题及答案解析
C语言一、选择题(第题2分,共20分)1.一个C程序的执行是从 A 。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。
x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 523.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。
A) 0~255 B) 0~32767 C) 0~65535 D) 0~21474836474.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。
A) float B) char C) int D) double5. putchar函数可以向终端输出一个D 。
A) 整型变量表达式 B) 实型变量值C) 字符串 D) 字符或字符型变量值6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。
A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出C) 右对齐输出该字符串,左补空格 D) 输出错误信息7.判断char型变量ch是否为大写字母的正确表达式是 C 。
A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2000~2001学年《程序设计基础-C》试卷一、单项选择题(每小题 2 分,共 30 分)1. C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。
A、‘{‘ 和’}’B、‘[‘和’]’C、“/*”和”*/”D、“*/”和”/*”2.下列运算符中,优先级最低的是_____。
A、*B、!=C、+D、=3.若变量已正确定义,表达式 (j=3, j++) 的值是_____ 。
A、3B、 4C、5D、04.已知字符‘a’ 的ASCII码为 97 ,执行下列语句的输出是_____。
printf ("%d, %c", ’b’, ’b’+1 ) ;A、98, bB、语句不合法C、98, 99D、 98, c5.表达式strcmp(“box”, “boss”) 的值是一个_______。
A、正数B、负数C、 0D、不确定的数6.数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_____的值为6。
A、a[3][2]B、a[2][1]C、a[1][2]D、a[2][3]7.要调用数学函数时,在#include命令行中应包含_____。
A、”stdio.h”B、”string.h”C、”math.h”D、”ctype.h”8.判断i和j至少有一个值为非0的表达式是_____。
A、 i!=0 && j!=0B、i*j!=0C、!(i==0 || j==0)D、i&&j9.若a是基本整型变量,c是单精度实型变量,输入语句______是错误的。
A、scanf(”%d,%f”, &a, &c);B、scanf(”d=%d, c=%f”, &a, &c);C、scanf(”%d%f”, &a, &c);D、scanf(”%d%f”, a, c);10.若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于_____。
A、p++B、x++C、*(p++)D、&x++11.若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, _____是正确的。
A、p2=p1;B、p2=**p1;C、p2=&p1;D、p2=*p1;12.下列程序段的输出是_____。
int c[]={1, 3, 5};int *k=c+1;printf("%d", *++k);A、 3B、 5C、 4D、613.不正确的赋值或赋初值的方式是______。
A、char str[]="string";B、char str[7]={'s', 't', 'r', 'i', 'n', 'g'};C、char str[10];str="string";D、char str[7]={'s', 't', 'r', 'i', 'n', 'g', ’\0’};14.对于以下结构定义,++p->str中的++加在_____。
s truct {int len;char *str;} *p;A、指针str上B、指针p上C、str指的内容上D、以上均不是15.对于如下说明,语法和语义都正确的赋值是_____。
i nt c, *s, a[]={1, 3, 5};A、c=*s;B、 s[0]=a[0];C、s=&a[1];D、 c=a;二、填空题(每小题 2 分,共 20 分)1.写出下列程序段的输出结果。
float x1, x2;x1=3/2;x2=x1/2;printf("%d, %.1f", (int)x1, x2) ;2.表达式 (7<<1>>2^2 ) 的值是_______。
3.写出下列程序段的输出结果。
#define A 10#define B (A<A+2)-2printf("%d", B*2);4.写出判断字符变量c是英文字母的表达式。
5.写出下列程序段的输出结果。
int k, x;for (k=0, x=0; k<=9&&x!=10; k++)x+=2;printf ("%d, %d", k, x) ;6.写出下列程序段的输出结果。
printf(“%d, %d”, NULL, EOF);7.对于以下递归函数f,调用 f (3) 的返回值是_____。
f (int n){ return ((n>0) ? 2*f(n-1)+f(n-2) : -1); }8.写出下列程序段的输出结果。
char str[]="hello\tworld\n";printf("%d, %c\n", sizeof(str), *(str+10));9.输入12345#后,写出下列程序的输出结果。
void main(){ char c;for(c=getchar(); getchar()!=’#’; c=getchar())putchar(c);}10.执行程序find –nx ould text.txt时,*++argv[1]的值是_______。
三、程序阅读题(每题5分,共20分)1.若输入 3 1 2 3 <回车> , 则以下程序的输出结果是_______。
#include "stdio.h"void main(){ int i, j, n, a[10];scanf("%d", &n);for (i=0; i<n; i++)scanf("%d",&a[i]);for (i=0; i<n; i++)for (j=0; j<n; j++)printf("%d, ", a[(i+j)%n]);}2.若输入89 76 24 25 9 8 11 16 35 4 <回车> , 则以下程序的输出结果是_______。
#include "stdio.h"#define N 10main(){int x[N], y1[N], y2[N];int i, j, n1, n2, t, p;n1=n2=0;for(i=0;i<N;i++){scanf(“%d”,& x[i]);if(x[i] % 2==0) y1[n1++]=x[i];else y2[n2++]=x[i];}for(i=1; i<n1; i++)for(j=0; j<n1-1; j++)if(y1[j]>y1[j+1]){t=y1[j]; y1[j]=y1[j+1]; y1[j+1]=t;}for(i=0; i<n2-1; i++){p=i;for(j=i+1; j<n2; j++)if(y2[p]<y2[j]) p=j;if(p!=i){t=y2[i]; y2[i]=y2[p]; y2[p]=t;}}for(i=0; i<n1; i++) printf("%d, ", y1[i]);for(i=0; i<n2; i++) printf("%d, ", y2[i]);}3.以下程序的输出结果是_______。
#include< stdio.h>int z;void p(int *x, int y){ ++*x;y--;z=*x+y+z;printf("%d, %d, %d#", *x, y, z);}void main(){ int x=1, y=5, z=9;p(&x, y);printf("%d, %d, %d#", x, y, z);}4.若输入 -6+15*3/5=<回车> , 则以下程序的输出结果是_______。
#include <stdio.h>void main(){int m=0, sum=0;char c, oldc='+';do {c=getchar();if(c<='9'&&c>='0') m=10*m+c - '0';else {if(oldc=='+') sum += m;else sum -= m;m=0;oldc=c;printf("%d, ", sum);}} while(c!='=');}四、程序填空题(每空 2 分,共 20 分)1.下列程序的功能是创建单向链表。
#include <stdio.h>#include <alloc.h>struct link {char name[10];i nt mark;s truct link * next;};void insert(char *, int);struct link * head = NULL;main(){char name[10];i nt mark;s truct link * t;w hile ( 1 ) {scanf("%s %d", name, &mark);if ( strcmp(name, "#") == 0 ) break;______(1)_______;}for (t=head; ______(2)_______)printf("<%s>: %d\n", t->name, t->mark);}v oid insert(char * name, int mark){struct link * p;p = ______(3)_______ ;strcpy(p->name, name);p->mark = mark;______(4)_______;if ( head != NULL ) ______(5)_______;head = p;}2.prog.c是带命令行参数的程序。
运行prog filename时,将文本文件filename 中的内容原样输出;运行prog -u filename时,将文本文件filename中的所有字母以大写方式输出(其余字符原样输出);运行prog -d filename时,只将文本文件filename 中的数字输出。