C语言复习题

合集下载

C语言复习60题

C语言复习60题

01计算机本身最擅长的能力是?A、推理B、想像C、重复D、分析正确答案: C、重复。

02 计算机(CPU)能够直截了当运行人类编写的程序A、√B、×正确答案: B、×、03编程语言是与计算机交谈的语言A、√B、×正确答案: B、×。

04 关于C语言,以下讲法错误的有:A、C语言是与Unix操作系统一同发展起来的B、C语言不能写图形界面的软件C、C语言一般是编译执行的D、C语言诞生于1970年代正确答案: B、C语言不能写图形界面的软件、06 IDE的中文翻译是什么?正确答案是:集成开发环境、07 给定:int a,b; 以下哪些scanf的使用是正确的?A、scanf("%d”,&a); scanf(”%d",&b);B、scanf(”%d %d”, &a, &b);C、scanf("%d, %d", &a,&b);D、scanf("%d%d”, a, b);正确答案: A、scanf("%d”,&a); scanf(”%d", &b);。

B、scanf(”%d%d", &a, &b);、C、scanf(”%d,%d”,&a,&b);、08 以下哪些是有效的变量名?A、mainB、4everC、monkey—kingD、__int正确答案:A、main。

D、__int。

09给定:inta,b; scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?A、1 2B、1,2C、1(回车)2D、1、2正确答案:A、1 2。

C、1(回车)2、10给定以下代码段:inta,b=0;则a的初始值是0A、√B、×正确答案: B、×、11写出下式的运算结果:10/3、0*3 正确答案是:10、0。

12写出下式的运算结果:10/3*3、0正确答案是:9、0。

c语言复习参考题

c语言复习参考题

1、已知int a=6; 则执行a+=a-=a*a;语句后,a的值为A)36 B)0 C)-24 D)-60正确答案: D2、下列表达式中,结果为5的是A)6*5%6 B)5*-2+15 C)5+75%10 D)6+-2/3正确答案: B3、已知int a=1,b=-1;则语句printf("%d\n",(a--,++b));的输出结果是A)-1 B)0 C)1 D)语句错误正确答案: B4、已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为A)1 B)2 C)3 D)4正确答案: C5、若int i,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是A)9 B)8 C)3 D)2正确答案: C6、数学上的不等式和C语言中的关系表达式意义不同。

若x=5,y=6,z=7,则x<y<z在c语言中值为()。

A) 1 B) 0 C) 5 D)77、若整型变量a、b、c、d中的值依次为:1、4、3、2。

则条件表达式a>b?a:c<d?c:d的值(B)。

A)1 B)2 C)3 D)48、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()。

A)0 B)1 C)2 D)39、已知char ch=′C′;则以下表达式的值是ch=(ch>=′A′ && ch<=′Z′)?(ch+32):ch;A)A B)a C)Z D)c正确答案: D10、以下选项中,当x为大于1的奇数时,值为0的表达式是:( d)A:x%2= =1 B:x/2 C:x%2!=0 D: x%2==011、为表示关系x≥y≥z,应使用C语言表达式(a)A) (x>=y)&&(y>=z) B)(x>=y)AND(y>=z) C)(x>=y>=z) D)(x>=y)&(y>=z)12、设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是(a)A)(!a==1)&&(!b==0) B)(!a||b)C)a && b D)a||(b+b)&&(c-a)13、逗号表达式(a=3*5,a*4),a+15的值为( B )A)15 B)30 C)60 D)9014、设a=1,b=2,c=3,则(a>b)!=c的值为( B )A) 0 B) 1 C) 2 D)315、设有int i; char c; float f; 则以下结果为整数的表达式是( D )A)i+f B)c+f C)i+c+f D)i*c16、表示关系a<=b<=c的c语言表达式为( B)A) (a<=b)&(b<=c) B) (a<=b)&&(b<=c) C) (a<=b<=c) D) (a<=b)AND(b<=c)17、有表达式:x=(y=4,z=16,k=32),式中x、y、z和k都是int型变量,则x=( c )A) 4 B)16 C) 32 D)5218、执行语句“x=(a=3,b=a- -)后x,a,b 的值依次为(C)A) 3,3,2 B) 3,2,2 C) 3,2,3 D) 2,3,219、若有说明和语句:int a=5; ++a; 此处表达式++a的值是(C )。

c语言习题

c语言习题

二.填空题 1.在C语言中(以16位PC机为例),一个char数据在内存中所占字节数为 _1B__,其数值范围为 0~127 ;一个int数据在内存中所占字节数为 2B ,其数值范围为-32768~32767 ;一个long数据在内存中所占字节 数为 4B ,其数值范围为 -2147483648~2147483647 ;一个float 数据在内存中所占字节数为 4B ,其数值范围为 -3.4*1038~-3.4*10-38, 3.4*10-38~3.4*1038 。 2.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且 第一个字符必须为 字母 。 3.字符常量使用一对 单引号 界定单个字符,而字符串常量 使用一对 双引号 来界定若干个字符的序列。
3.函数体一般包括( 变量定义序列 ) 和( 执行语句序列
二.判断题 1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结 束。 【 √ 】 2.main函数必须写在一个C程序的最前面。 【 × 】 3.一个C程序可以包含若干的函数。【 √ 】 4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运 行不起任何作用。但是可以增加程序的可读性。【 √ 】 5.C程序的注释只能是一行。【 × 】 6.C程序的注释不能是中文文字信息。【 × 】 8.可以使用Turbo C来编译和连接一个C程序。【 √ 】 9.可以使用Turbo C来运行一个C程序。【√ 】 10.可以使用Turbo C来实时调试(即动态调试)一个C程序。【 √ 】 三.简答题 1. 写出一个C程序的基本结构。 预处理命令序列 void main() { 变量定义序列 执行语句序列 } 2. 简要叙述使用Turbo C 2.0编译和运行一个程序的步骤。 1)编辑源程序,以扩展名.c存盘。

c语言期末复习试题附答案

c语言期末复习试题附答案

c语言期末复习试题附答案一、选择题(每题2分,共20分)1. C语言中,下面哪个选项不是合法的数据类型?A. intB. floatC. doubleD. character答案:D2. 在C语言中,下面哪个选项是合法的变量名?A. 2abcB. abc12C. abc_12D. abc&12答案:B3. 下面哪个选项不是C语言的运算符?A. +C.D. %答案:D4. 在C语言中,下面哪个选项表示取模运算?A. %B. /C.D. ^答案:A5. 下面哪个选项是C语言中的关系运算符?A. ==B. !=C. >D. <答案:A、B、C、D6. 下面哪个选项是C语言中的逻辑运算符?B. ||C. !D. &答案:A、B、C7. 下面哪个选项是C语言中的赋值运算符?A. =B. +=C. -=D. =答案:A、B、C、D8. 下面哪个选项不是C语言中的控制语句?A. ifB. whileC. do-whileD. for答案:D9. 在C语言中,下面哪个选项表示循环不变量?A. 初始化表达式B. 循环条件C. 循环体D. 步进表达式答案:D10. 下面哪个选项是C语言中的递归调用?A. function(function());B. function();function();C. function(function());function();D. function();function(function());答案:A二、填空题(每题2分,共20分)1. C语言中,一个整型数据占____个字节。

答案:42. C语言中,一个浮点型数据占____个字节。

答案:43. 在C语言中,一元运算符“++”和“--”的优先级高于二元运算符“+”、“-”、“”、“/”、“%”。

答案:正确4. 在C语言中,关系运算符“==”和“!=”的优先级高于“<”、“>”、“<=”、“>=”。

C语言复习题(含答案)

C语言复习题(含答案)
int a,b,c;
a=10;b=50;c=30;
if (a>b) c=%d”,a,b,c);
A、a=10,b=50,c=10B、a=10,b=30,c=10
C、a=50,b=30,c=10 D、a=50,b=30,c=50
14、在C语言中,当while语句构成的循环的条件为D时,结束循环。
A、5 B、3
C、101 D、11
22、当说明一个结构体变量时系统分配给它的内存是A。
A、各成员所需内存量的总和
B、结构中第1个成员所需内存量
C、成员中占内存量最大者所需的容量
D、结构中最后一个成员所需内存量
23、使用共用体union的目的是A。
A、将一组数据作为一个整体,以便与其中的成员共享同一存空间
A、ASCII代码值B、BCD代码值
C、内码值D、十进制代码值
12、以下程序段C。
int x=2,y=3;
printf( x>y? ”****=%d”: “###y=%d”,x,y);
A、输出控制格式错误B、输出为:****x=2
C、输出为:###y=2D、输出为:###y=3
13、以下程序的输出为B。
for (I=0; I<4; I++) a[I]=*p++;
printf(“%d\n”,a[2]);}
上面程序的输出结果是B。
A、6 B、8 C、4 D、2
19、在C语言中,如果对函数类型未加显示说明,则函数的隐含类型是A。
A、intB、charC、voidD、double
20、在C语言中,当函数调用时A。
{int I,s,n;
s=1;
printf(“enter n: “);

c语言复习题

c语言复习题

A. 6 B. 7 C. 11 D. 12
(10) 合法的数组定义是( )。 A
A. char a[ ]= "string " ; B. int a[5] ={0,1,2,3,4,5}; C. char a= "string " ; D. char a[ ]={0,1,2,3,4,5}
A. int a[7]; B. #define N 5 long b[N]; C. char c[5]; D. int n,d[n];
(4) 对字符数组进行初始化,( )形式是错误。 B
A. char c1[ ]={'1', '2', '3'}; B. char c2[ ]=123; C. char c3[ ]={ '1', '2', '3', '\0'}; D. char c4[ ]="123";
2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。
3、设 c='w',a=1,b=2,d=-5, 则表达式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分别为 1 、 0 、 1 、 1 。
(8) 设有定义:char s[12] = "string" ; 则printf( "%d\n",strlen(s)); 的输出是( )。 A
A. 6 B. 7 C. 11 D. 12
(9) 设有定义:char s[12] = "string"; 则printf("%d\n ", sizeof(s)); 的输出是( )。 D

C语言复习题

C语言复习题

1. 若有定义:long int j,*p;,则操作j=(long int)p;是合法操作。

√ ×正确2. 设有说明int(*ptr)[M];其中ptr是指向含有M个整型元素的一维数组的指针。

()√ ×正确3. 对同一类型的两个指针变量而言,一个变量向另外一个变量赋值的结果是使得两个指针指向同一个对象。

√ ×正确4. 定义一个指向某种类型函数的指针后,就可以讲任何函数的首地址赋给这个指针变量。

√ ×错误正确答案为×5. 可以将一个整型指针变量的值赋给一个实型指针变量,但可能引起符号位扩展。

√ ×错误正确答案为×6. 可以将一个实型指针变量的值赋给一个整型指针变量,但可能影响指针的精度。

√ ×错误正确答案为×7. 由于指针的数据类型实际上是指定指针所能指向对象的数据类型,所以不通数据类型的指针变量不能相互赋值。

√ ×正确8. 函数中使用指针变量作为形式参数,就有可能在被调函数中操作主调函数中的实参。

√ ×正确9. 若有定义:int a[5],*p;,则操作p=a;是合法的操作。

√ ×正确10. 若有定义:int a[5],*p;,则操作p=&a[2];是合法的操作。

√ ×正确11. 若有定义:int a[5][5],*p;,则操作p=a;是合法操作。

√ ×错误正确答案为×12. 若有定义:int a[5][5],*p;,则操作p=*a;是合法操作。

√ ×正确13. 若有定义:int a[5][5],*p;,则操作p=a[0];是合法操作。

√ ×正确14. 若有定义:int a[5][5],*p;,则操作p=&a[0][0];是合法操作。

√ ×正确15. 若有定义:int a[5][5],(*p)[5];,则操作p=a;是合法操作。

(完整版)C语言各章节复习题(带答案)

(完整版)C语言各章节复习题(带答案)

一、C语言概述练习题选择1.一个C程序的执行是从。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。

A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。

A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。

A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。

A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。

A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe 文件7.以下叙述正确的是。

A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。

C 语言复习题(完整版)

C 语言复习题(完整版)

所有单选题1、C语言中下列叙述正确的是__d____。

A:不能使用do-while语句构成的循环B:do-while语句构成的循环,必须用break语句才能退出C:do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 1真0假,1 进入循环 D:do-while语句构成的循环,当while语句中的表达式值为零时结束循环答案:D2、以下选项中属于C语言的数据类型是__C____。

A:复数型B:逻辑型C:双精度型D:集合型答案:C3、下列描述中不正确的是__C____。

A:字符型数组中可以存放字符串B:可以对字符型数组进行整体输入、输出C:可以对整型数组进行整体输入、输出D:不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值答案:C4、以下程序的输出结果是______。

main(){ int x=10,y=10,i;for(i=0;x>8 ;y=++i)printf("%d %d ",x--,y);}A:10 1 9 2B:9 8 7 6C:10 9 9 0D:10 10 9 1答案:D5、以下程序的输出结果是______。

main(){ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p; int i ;i=8;p=a+i;printf("%s\n",p-3);}A:6B:6789C:'6'D:789答案:B6、能正确表示a和b同时为正或同时为负的逻辑表达式是__D____。

A:(a>=0||b>=0)&&(a<0|| b<0)B:(a>=0&&b>=0)&&(a<0&&b<0)C:(a+b>0)&&(a+b<=0)D:a*b>0答案:D7、以下程序的输出结果是__A____。

C语言复习题及参考答案

C语言复习题及参考答案

C语言复习题及参考答案一、单项选择1、以下叙述正确的是:__B__。

A)C语言的源程序不必通过编译就可以直接运行。

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

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

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

2、以下4个用户定义标识符中,全部合法的一组是__A__。

A)_main enclude sin B)if –max turbo C)txt REAL 3COM D)int k_2 _001 3、以下不能定义为用户标识符的是_D__。

A)scanf B)Void C)_3com D)int4、C语言中用于结构化程序设计的3种基本结构是__A__。

A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-whileD)if、for、continue5、为解决某一特定问题而设计的指令序列称为__C__。

A)文档B)语言C)程序D)系统6、用高级程序设计语言编写的程序称为__C__。

A)目标程序B)可执行程序C)源程序D)伪代码7、能将高级语言编写的源程序转换成目标程序的是__B__。

A)编辑程序B)编译程序C)驱动程序D)链接程序8、下列叙述中,正确一条是__C__。

A)计算机语言中,只有机器语言属于低级语言。

B)高级语言源程序可以被计算机直接执行。

C)C语言属于高级语言。

D)机器语言是所用机器无关的。

9、以下符合C语言语法的实型常量是__C__。

A)1.2E0.5B)3.14159E C).5E-3D)E1510、下面叙述正确的是__A___。

A)C程序中注释部分可以出现在程序中任何合适的地方。

B)花括号“{”和“}”只能作为函数体的定界符。

C)构成C程序的基本单位是函数,所有函数名都可以由用户命名。

D)分号是C语句之间的分隔符,不是语句的一部分。

11、设有以下定义:int a=0; double b=1.25; char c=’A’;#define d 2则下面语句中,错误是__D__。

C语言模拟复习题及答案

C语言模拟复习题及答案

一、选择题1. 以下叙述错误的是 A 。

A.C程序在书写时,有严格的缩进要求,否则不能编译通过B.一个C程序只能有一个主函数C.一个C程序可以包含多个不同名的函数D.C程序的主函数必须用main作为函数名2. 下列程序段的输出结果是 4 3 2 1 。

void fun(int *x, int *y){ printf("%d %d ", *x, *y); *x=1; *y=2;}main(){ int x=3,y=4;fun(&y,&x);printf("%d %d",x, y); }3. 若有定义语句:int x=3,y=2,z;在其后执行语句z=0.9+x/y;则z 的值为 1 。

4. 有以下程序#include <stdio.h>main(){ int a;scanf("%d",&a);if(a++<8) printf("%d\n",a);else printf("%d\n",a--); }程序运行时键盘输入8<回车>,则输出的结果是9 。

5. 以下定义整型3行4列的二维数组a并初始化不正确的是C 。

A.int a[3][4]={0} B.int a[][4]={0,1,2,3,4,5,6,7,8,9,10,11,12}C.int a[3][]={0,1,2,3,4,5,6,7,8,9,10,11,12} D.int a[3][4]={{1,2},{1,2,3},{1,2,3,4}}6. 有以下程序#include <stdio.h>main(){ int c=0,k;for (k=1;k<3;k++)switch (k){ default: c+=k;case 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c); }程序运行后的输出结果是 3 。

学生复习题(c语言)

学生复习题(c语言)

复习题一.选择题1.以下选项中正确的常量是( A )(A)12 (B)0.329*10^2 (C)1,000 (D) 4 5 62.以下选项中不合法的用户标识符是( C )(A)title (B)A7s (C)7ab (D) PRINTF3.下列选项中,不合法的标识符是( D )(A) _1234_ (B) _1_2 (C) int_2_ (D) 2_int_4.以下符合C语言语法的实型常量是( C )(A) 1.2E0.5 (B) 3.14.159E (C) .5E-3 (D) E155.下列字符中,ASCII码值最大的是( D )(A)A (B)a (C)X (D)x6.C语言提供的合法的关键字是( D )(A)swicth (B)Char (C)Case (D)short7.在C语言中,合法的字符常量是( A )(A)'\030' (B)'\o89' (C)'ab' (D)"\0"8.若已定义x和y为double类型,则表达式:x=1,y=x十3/2的值是( C )(A)1.0 (B)2 (C)2.0 (D)2.59. 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是( C )(A) c=b=a;(B) (a=c)||(b=c) ;(C) (a=c) &&(b=c);(D) a=c=b;10. C语言中,int类型数据占2个字节,则long类型数据占字节数( C )(A) 1 (B) 2 (C) 4 (D) 811.在以下一组运算符中,优先级最高的运算符是( C )(A)<= (B)= (C)% (D)&&12. 以下所列的C语言常量中,错误的是( B )(A) 0xFF (B) 1.2e0.5 (C) 2L (D) '\72'13. 下列选项中,合法的C语言关键字是( D )(A) VAR (B) cher (C) integer (D) default14.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( C )(A) -3 (B) 9 (C) -12 (D) 615. 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( C )(A) 不定值(B) 4 (C) 3 (D) 116.有以下程序段:【int k=0;while(k==1)k++;】while 循环执行的次数是( C )(A) 无限次(B) 有语法错,不能执行(C) 一次也不执行(D) 执行1次17.有以下程序段:【int x=3;do{ printf("%d",x-=2); }while (!(--x)); 】,其输出结果是( C )(A) 1 (B) 30 (C) 1-2 (D) 死循环18.合法的数组定义是( D )(A)int a[]="abcdef"; (B)int a[3]={0,1,2,3};(C)char a ="abcdef"; (D)char a[]={0,1,2,3};19.设a为整型变量,不能正确表达数学关系:5<a<10 的C语言表达式是( A )(A)5<a<10 (B)a==6||a==7||a==8||a==9 (C)a>5&&a<10 (D)!(a<=5)&&!(a>=10)20.若t为double类型,表达式t=2,t+5,t++的值是( D )(A)2 (B)7.0 (C)3.0 (D)2.021.语言中运算对象必需是整型的运算符是( C )(A)+ (B)/ (C)% (D)*22.以下是C语言语句的是( A )(A) a++;(B)a=a+7 (C) int b (D) printf(“ABCD”)23. C语言中double 类型变量所占字节数是( D )(A)16 (B)2 (C)4 (D)824.若a、b、c、d都是int 类型变量且初值为0,以下选项中不正确的赋值语句是( C )(A)a=c+d;(B)d--;(C)a=b+c=c+d;(D)a=(c=22)-(b++);25.为表示关系 x>y>z,应使用的C语言表达式是( D )(A)(x>y)&(y>z)(B)(x>y)AND(y>z) (C)(x>=y>=z) (D)(x>y)&&(y>z)26.C语言中,字符(char)型数据在微机内存中的存储形式是( B )(A)反码(B)ASCII码(C)EBCDIC码(D)、原码27.语言中的基本数据类型有( D )(A)整型、实型、逻辑型、字符型(B)整型、实型、逻辑型(C)整型、字符型、逻辑型(D)整型、实型、字符型28.以下函数调用语句func(exp3, (exp4,exp5));中,含有的实参个数是( B )(A)1 (B)2 (C)3 (D)529.若有定义: int x, *pb; 则以下正确的赋值表达是( A )(A)pb=&x (B)pb=x (C)*pb=&x (D)*pb=*x30.若有定义 int *p, a[5];且p已指向a[0],则执行完p++后 ,p指向下列哪一数组元素( B )(A)a[0] (B)a[1] (C)a[2] (D)a[3]31、若int w=4,x=3,y=2,z=1;则表达式w<x?w:z<y?z:x的值是( A )(A)1 (B)2 (C)3 (D)432. 当调用函数时,实参是一个数组名,则向函数传送的是( B )(A) 数组的长度 (B) 数组的首地址(C) 数组每一个元素的地址(D) 数组每个元素中的值33.以下能正确定义二维数组的是( C )(A) int a[][3]; (B) int a[][3]=2{2*3};(C) int a[][3]={{1},{3,4}};(D) int a[2][3]={{1},{2},{3,4}};34. 若有定义:int aa[ 8];则以下表达式中不能代表数组元aa[1]的地址的是( C )(A) &aa[0]+1 (B) &aa[1] (C) &aa[0]++ (D) aa+135.若有以下定义:char str[20]="programming",* p= str;则不能代表字符g的表达式是( A ) (A)p+3 (B)str[3] (C)p[3] (D)p+=3,* p36.若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},* p=a;则不能表示a数组元素的表达式是( B )(A)* p (B)a[10] (C)* a (D)a[p-a]37.若有以下的定义:int s[]={3,4,5,6,7,8,9,10,11,12},* p=s;则值为8的表达式是( A ) (A)p+=5,*(p++)(B)p+=5,*++p(C)p+= 6,* p++ (D)p+=5,++ * p38.若有定义和语句: int a[5][10],(* p)[10];p=a,则对a数组第一元素的正确引用是( C )(A)*(a[0]+2)(B)*(p+1)(C)p[0][0] (D)*(p[1]+2)39.函数调用:strcat(strcpy(str1,str2),str3)的功能是( C )(A)将串str1复制到串str2中后,再连接到串str3之后(B)将串str1连接到串str2之后,再复制到串str3之后(C)将串str2复制到串str1中后,再将串str3连接到串str1之后(D)将串str2连接到串str1之后,再将串str1复制到串str3中40.以下对C语言函数的有关描述中,正确的是( A )(A)在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参(B)C函数既可以嵌套定义又可以递归调用(C)函数必须有返回值,否则不能使用函数(D)C程序中有关调用关系的所有函数必须放在同一个源程序文件中41.在下列给数组赋初值语句中,( C )是错误的。

c语言期末复习试卷

c语言期末复习试卷

复习题(一)1。

用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。

【答案】编译目标2。

下列符号串中,属于C语言合法标识符的是()①else ②a-2 ③_00 ④00【答案】③3.下列说法中,正确的是()①主函数名是由程序设计人员按照“标识符”的规则选取的②分号和回车符号都可以作为一个语句的结束符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开始【答案】③4.-12345E-3代表的十进制实数是________________________.【答案】—12.3455.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。

【答案】B6.设字符型变量ch1中存放的字符是“A",字符型变量ch2中存放的字符是“B”,则执行“!(ch1=’B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________.【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a〉b)&&(n=a>b)”后m,n 的值是()①0,0 ②0,l ③1,0 ④1 ,l【答案】②。

7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________. 【答案】l8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________.【答案】1 09.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x"值为1,则x的值为___________。

【答案】非010.下列表达式中,不属于逗号表达式的是()①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)【答案】③11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【答案】多分支12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。

C语言复习题及答案

C语言复习题及答案

C语言复习题及答案一.单项选择题1.下列选项中,不是转义字符集中的符号是( C )。

A \\B \’C 074D \02. 下列给出的符号串中,不属于C语言保留字的是( B )。

A switchB cherC caseD else3. 下列给出的符号串中,不能作为C语言标识符的是( C )。

A a_2B _2aC a.3D a_34. 下列属于C语言字符常量的是( C )。

A ‘abc’B “\n”C ‘a’D ‘a\0’5. 字符串”ABC”再内存占用的字节数为( B )。

A 3B 4C 6D 86. 设有宏定义“#define R 2+3”,则R*R的宏替换结果正确的是( B )。

A (2+3)*(2+3)B 2+3*2+3C 5*5D 5.0*5.07. 设整形变量I的值为3,则表达式i---i的值为( A )。

A 0B 1C 2D 38. 表达式“10!=9”的值为( D )。

A trueB 非零值C 0D 19. 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值为( D )。

A 3B 0C 9D -1210. 下列选项中,正确的赋值表达式为( C )。

A a=7+b+c=a+7B a=7+b++=a+7C a=(7+b,b++,a+7)D a=7+b,c=a+711. 若有以下定义语句:char a;float c; double d; 则表达式a*b+d-c值的类型为( D )。

A floatB intC charD double12. 用十进制数表示表达式“12||012”的运算结果是( A )。

A 1B 0C 14D 1213. 下列一组运算符中,优先级别最高的运算符是( C )。

A <=B =C %D &&14. 设定“ char a=3,b=6,c;”,计算表达式c=(a^b)<<2后c的二进制值是( D )。

A 00011100B 00000111C 00000001D 0001010015. 设x,y,z,t 均为int类型,则执行下列语句串后,变量t的值为(C )。

C语言考试复习题

C语言考试复习题

11.如下定义“char c1=’a’, c2=’b’, c3=c1-c2;”后执行printf(“%d”,c3);结果为无任何显示。( )
12.可以有如下定义:“int a=b=c=0;”。( )
13.执行“int x=4, y=5; float z=x/y;”后,z的值为0.8。( )
A.0 B. C. 2 D. -1
20. 下列程序执行后的输出结果是( )。
A. G B. H C. I D. J
main ( )
{ int x=’f’;printf(“%c\n”,’A’+(x-‘a’+1));}
21. 下列程序执行后的输出结果是( )。
printf(“%d\n”,d*y); }
18. 下列变量定义中合法的是( )。
A.short _a=.1e-1; B. double b=1+5e2.5;
C. long do=0xfdaL; D. float 2_and=1-e-3;
19. 设“int x=1,y=1;“,表达式(!x||y--)值是( )。
3. 字符型常量在内存中存放的是( )。
A.ASCII码 B. BCD码 C. 内部码 D. 十进制码
4. 若变量a,i已正确定义,且i已正确赋值,合法的语句是( )。
A. a==1 B. ++i; C. a=a++=5; D. a=int(i);
A.复数型 B. 逻辑型 C. 双精度型 D. 集合型
15.在C语言中,不正确的int类型的常数是( )。
A.32768 B. 0 C. o37 D. oxAF
16. 当c的值为0时,在下列选项中能正确将c的值赋给变量a,b的是( )。

C语言复习题及答案

C语言复习题及答案

复习A:一、单项选择题1、如果要把常量327存入变量a中,a不能定义的类型是哪一个?()A)int B)char C)long D)float2、若x 为unsigned int 型变量,则执行下列语句后x值为()x = 65535;printf(“%d\n”,x);A)65535 B)1 C)无定值D)-13、有以下程序main(){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf(″%d,%d\n″,k,m);}程序运行后的输出结果是()A)0,0 B) 0,1 C)1,0 D)1,14、在C语言中,如果下面的变量都是int类型,则输出的结果是()。

sum=pad=5; pAd=sum + + ,pAd + +, + + pAd;printf("%d\n",pad);A) 7 B) 6 C) 5 D) 45、以下程序的输出结果是()。

main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}A)1 B)0 C)非0的数D)-16、当执行以下程序段时()。

x=-1;do{x=x*x;}while(!x);A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误7、全局变量的存储类型可以定义为()。

A)auto或static B)extern或registerC)auto或extern D)extern或static8、定义全局变量时,若变量的的存储类别缺省,则默认的存储类型是()。

A)auto B)registerC)extern D)static9、已知:int a, x; 则正确的赋值语句是()。

A)a=(a[1]+a{2})/2; B)a*=*a+1;C)a=(x=1, x++, x+2); D)a="good";10、已知:int a, *p=&a; 则下列函数调用中错误的是()。

C语言考试复习题及答案

C语言考试复习题及答案

一、单选题(请将正确答案写在答题纸,1~20题每题1分,21~35题每题2分,共50分)1. 下列关于C语言的说法不正确的是( D )。

A.C语言既具有高级语言的一切功能,也具有低级语言的一些功能B.注释可以出现在程序中任意合适的地方C.C语言中的每一条执行语句都必须用分号结束,分号是C语言的一部分D.定义函数的首行要加分号2. C语言程序的执行顺序是(B)。

A.从第一个函数开始执行B.从main函数开始执行C.从任意函数开始执行D.从第一条语句开始执行3. 以下关于注释的叙述,正确的是(D)。

A.注释参与编译,影响程序结果B.注释不参与编译,但影响程序结果C.注释参与编译,但不影响程序结果D.注释不参与编译,不影响程序结果4. 以下叙述正确的是(A)。

A.C语言程序可以在任意C编译器下编译B.C语言程序只能在TC环境下编译C.C语言程序只能在VC或TC环境下编译D.C语言程序只能在VC环境下编译5. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( B )。

A.必须为字母B.必须为下划线或字母C.必须为下划线D.可以是字母,数字和下划线中任一字符6. 下面四个数字常量选项中,书写均正确的是(D)。

A.016 0x8f 018 (零开头的是八进制,不能用8)B.0312 7ff -087(8进制没有符号)C.0xbc 0a7(8进制没有a)0xaD.070 0xf1 0x19(16进制以ox开头)7. 若有说明语句:char c=0x7f;则变量c(B)。

A.包含3个字符B.包含1个字符C.包含2个字符D.说明不合法,c的值不确定8. 设有int x=11;则表达式(++x*1/3)的值是( B )。

(11+1再除以3)A.3B.4C.11D.129. 阅读下面程序段,输出结果为( B )。

(z-a=25)#include "stdio.h"void main(){ char c;c=('z'-'a')/3+'A';putchar(c);}A.HB.JC.ID.K10. 若有定义和语句:int a=23,b=023; printf(“%x,%d \n”,a,b);输出结果是( D )。

c语言复习试题及答案

c语言复习试题及答案

c语言复习试题及答案C语言复习试题及答案一、选择题1. C语言中,一个整型变量的取值范围是:A. -128 到 127B. -32768 到 32767C. -2147483648 到 2147483647D. 取决于编译器答案:D2. 下列哪个关键字用于定义C语言的结构体?A. structB. defineC. unionD. enum答案:A3. C语言中,字符串在内存中是以什么方式存储的?A. 字符串名B. 字符串长度C. 字符串本身D. 字符串结束标志 '\0'答案:D4. 在C语言中,函数返回值的类型由什么决定?A. return 语句B. 函数名C. 函数定义时指定的类型D. 函数参数的类型答案:C5. 下列哪个操作符不能用于位操作?A. &B. |C. ^D. ++答案:D二、填空题6. C语言中,预处理器指令 `#include` 的作用是_______。

答案:引入其他文件7. `int main()` 函数中的 `void` 表示该函数_______。

答案:不返回任何值8. 在C语言中,数组的索引是从_______开始的。

答案:09. `printf` 函数的返回类型是_______。

答案:int10. 表达式 `3.0 / 0` 在C语言中会导致_______。

答案:运行时错误三、简答题11. 请简述C语言中指针的概念及其用途。

答案:指针是一种变量,它存储的是另一个变量的内存地址。

指针在C语言中用于直接访问内存、动态内存分配、数组操作、函数参数传递等。

12. 解释C语言中数组和指针之间的关系。

答案:在C语言中,数组名可以作为指针使用,它指向数组的第一个元素的地址。

通过指针可以遍历数组,也可以通过指针修改数组元素的值。

四、编程题13. 编写一个C语言程序,实现对整数数组的排序。

```c#include <stdio.h>void sort(int arr[], int n) {int i, j, temp, min_idx;for (i = 0; i < n - 1; i++) {min_idx = i;for (j = i + 1; j < n; j++) {if (arr[j] < arr[min_idx]) {min_idx = j;}}if (min_idx != i) {temp = arr[i];arr[i] = arr[min_idx];arr[min_idx] = temp;}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]);sort(arr, n);printf("Sorted array: \n");for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```14. 编写一个C语言程序,实现字符串的反转。

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

41. 执行 printf ("%d",'M'-'A'+'a' -'m'); ,输出 0。√ 42. 表达式 !x 等价于 x != 1。× 43. 表达式 (z=0, (x=2)||(z=1),z) 的值是 1。× 44. 在 C 程序中,用整数 0 表示逻辑值“假” 。√ 45. 若变量已正确定义,表达式 x=y=1 符合 C 语言语法。√ 46. 表达式 !(x>0||y>0) 等价于!(x>0)&&!(y>0)。√ 47. 在 C 源程序中语句 if(x==5) y++;与 if(x=5) y++;等价。× 48. 在的关系运算符(>=、>、==、!=、<=、<)中,优先级最低的运算符是==、!=。√ 49. 若 x 的当前值为 5, 执行语句“if(x=3) x=x+5;”后,x 的值依然是 5。× 50. 执行循环语句“for(i=1;i<10;i=i+2) s+=i;”后,i 的当前值为 11。√ 单选题 1. 学校的学生学籍管理程序属于______。C (A)工具软件 (B)系统软件 (C)应用软件 (D)文字处理软件 2. 有些高级语言源程序在计算机中执行时,采用的是解释方式。在解释方式下,源程序由 ______边解释边执行。B (A)编译程序 (B)解释程序 (C)操作系统 (D)汇编程序 3. 关于计算机软件的叙述,错误的是______。B (A)软件是一种商品 (B)软件借来复制也不损害他人利益 (C)《计算机软件保护条例》对软件著作权进行保护 (D)未经软件著作权人的同意复制其软件是一种侵权行为 4. 在下列四条叙述中,正确的一条是______。C (A)最先提出存储程序思想的人是英国科学家艾伦·图灵 (B)ENIAC 计算机采用的电子器件是晶体管 (C)在第三代计算机期间出现了操作系统 (D)第二代计算机采用的电子器件是集成电路 5. 已知英文小写字母 d 的 ASCII 码为十进制数 100, 则英文小写字母 h 的 ASCII 码为十进 制数_______。B (A)103 (B)104 (C)105 (D)106 6. 有一个数值 152,它与十六进制数 6A 相等,那么该数值是______。D (A)十进制数 (B)二进制数 (C)四进制数 (D)八进制数 7. Internet 比较确切的一种含义是______。B (A)一种计算机的品牌 (B)网络中的网络,即互连各个网络 (C)一个网络的顶级域名 (D)美国军方的非机密军事情报网络 8. 下列关于系统软件的四条叙述中,正确的是______。A (A)系统软件与具体应用领域无关 (B)系统软件与具体的硬件无关 (C)系统软件是在应用软件基础上开发的 (D)系统软件就是指操作系统 9. 计算机内存的每个基本单位,被赋予一个唯一的______,称为地址。C (A)容量 (B)字节 (C)序号 (D)功能 10. 十六进制数 FF.1 转换成十进制数是______。C (A)255.625 (B)250.1625 (C)255.0625 (D)250.0625 11. 在计算机中存储数据的最小单位是______。B (A)字节 (B)位 (C)字 (D)记录 12. 因特网中某主机的二级域名为“edu” ,表示该主机属于______。C (A)赢利性商业机构 (B)军事机构 (C)教育机构 (D)非军事性政府组织机构
13. 下列字符中,其 ASCII 码值最大的是______。D (A)9 (B)D (C)a (D)y 14. 语句 printf(“%%d%d”, 123); 将输出: A、%123%d B、%%d123 √C、%d123 D、上述语句语法有错 15. 对于 int x, y; 语句 if (x<0) y= -1; else if (!x) y=0; else y=1; 等价于: A、 y=0; if (x>=0) if (x) y=1; else y= -1; √B、 if (x!=0) if (x>0) y=1; else y= -1; else y=0; C、 if (x<0) y= -1; if (x!=0) y=1; else y=0; D、 y= -1; if (x!=0) if (x>0) y=1; else y=0; 16. 语句 if (a>b) k=0; else k=1;等价于: A、k=(a>b)?1:0; B、k=a>b; √C、k=a<=b; D、以上均不是 17. 执行下列程序段: int i, j; i = 3/2 + 7/2 == 5; j = 45 % 11 + (((7>8) ? 14:21) == 14); 后变量 i,j 的值应为: √A、i=0 j=1 B、i=1 j=1 C、i=0 j=2 D、i=1 j=2 18. 如果 int i=16, j=23 ; 执行 printf("%x--%o",i, j)后输出为: A、10—23 √B、10--27 C、16--23 D、16—27 19. 若 x 是 double 型变量,n 是 int 型变量,执行 ,并输入 3 1.25 后,x=1.25, n=3。 √A、scanf("%d%lf", &n, &x); B、scanf("%lf%d", &x, &n); C、scanf("%lf%d", &n, &x); D、scanf("%d,%lf", &n, &x); 20. 若变量已经被正确定义,为表示“变量 x 和 y 都能被 3 整除” ,应使用的 C 表达式 是 。 A、(x%3 != 0) || (y%3 != 0) B、(x%3 != 0) && (y%3 != 0) C、(x%3 == 0) || (y%3 == 0) √D、(x%3 == 0) && (y%3 == 0) 21. while( ) 等价于 while(x)。 A、x == 0 √B、x != 0 C、x == 1 D、x != 1 22. 下列程序段的输出结果是 。 int count = 0, x, y, z; for(x = 1; x <= 2; x++) for(y = 1; y <= 3; y++) for(z = 1; z <= 4; z++) count++; printf("%d", count); A、10 B、9 √C、24 D、0 23. 判断变量 ch 是英文字母的表达式为 。 A、( 'a' <= ch <= 'z') || ( 'A' <= ch <= 'Z') B、(ch >= 'a' && ch <= 'z') && ( ch >= 'A' && ch <= 'Z') √C、(ch >= 'a' && ch <= 'z') || ( ch >= 'A' && ch <= 'Z') D、( 'A' <= ch <= 'z') && ( 'A' <= ch <= 'z')
判断题 1. 运算器是完成算术和逻辑操作的处理部件,通常称为 CPU。× 2. 通常硬盘安装在主机箱内,因此它属于主存储器。× 3. 指令与数据在计算机内是以 ASCII 码进行存储的。× 4. 操作系统是合理地组织计算机工作流程、 有效地管理系统资源、 方便用户使用的程序集 合。√ 5. 用计算机机器语言编写的程序可以由计算机直接执行, 用高级语言编写的程序必须经过 编译才能执行。√ 6. 计算机的所有计算都是在内存中进行的。× 7. 字长是指计算机能直接处理的二进制信9. 系统软件就是市场上买来的软件,应用软件就是自己编写的软件。× 10. 常用字符的 ASCII 码值从小到大的排列规律是:空格、阿拉伯数字、小写英文字母、 大写英文字母。× 11. 多台计算机相连,就形成了一个网络系统。× 12. 在 Internet 网上,IP 地址、E-mail 地址都是唯一的。√ 13. 不同类型的变量在内存中占用存储空间的大小都是一样的。× 14. 表示数学式 3<x<5 的 C 表达式也是 3<x<5。× 15. 设某字符的 ASCII 码十进制值为 72,则其十六进制值为 48。√ 16. 结构化程序语言的三种基本结构是顺序、选择和循环。√ 17. ‘\n’不是一个字符常量。× 18. 与 float 型数据相比,double 型数据的精度高,取值范围大。√ 19. 在 C 语言中,表达式(010+2)的值是 10。√ 20. do-while 语句先执行循环体,后判断循环条件,所以循环体至少会执行一次。√ 21. 在 C 语言中,常量和变量都有数据类型。√ 22. C 语言的运算符只有单目运算符和双目运算符两种。× 23. 若变量已正确定义,表达式 x + y = z 符合 C 语言语法。× 24. C 编译器可以找出 C 源程序中所有的语法错误和逻辑错误。× 25. 表达式 3 * 5 / 2 和表达式 3 / 2 * 5 等价。× 26. 表达式 m = n++ 的求解顺序是先计算 m = n,再计算 n = n + 1。√ 27. 变量名 fahr 和 Fahr 代表两个不同的变量。√ 28. 对整型变量可进行自加或自减运算,而对常量或表达式不可以。√ 29. while 语句先判断循环条件,所以循环体有可能一次也不执行。√ 30. C 程序中无法比较二个字符的大小。× 31. continue 语句和 break 语句都只能用在循环体中。× 32. 表达式 3.14%2 是合法的 C 语言表达式。× 33. C 语言编写的源程序必须经过编译连接,生成扩展名为.exe 的可执行文件才能运行。√ 34. 格式符“%o”是按 16 进制输出整数。× 35. for 循环只能用于循环次数已确定的场合。× 36. 算术运算符和赋值运算符的结合方向均由左自右。× 37. break 语句只能用在 switch 语句中。× 38. C 的任何类型数据在计算机内部都是以二进制形式存储的。√ 39. 按格式符“%d”输出 float 类型变量时,截断小数位后取整输出。× 40. 表达式 0195 是一个八进制整数。×
相关文档
最新文档