c语言复习题及参考答案
- 格式:doc
- 大小:537.00 KB
- 文档页数:69
姓名:__________________年级专业:__________________ 学号:__________________凡年级专业、姓名、学号错写、漏写或字迹不清者,成绩按零分记。
…………………………密………………………………封………………………………线…………………………《复习卷》试卷一、单选题(每题1分,共计30分) 1、下列选项中,不合法的变量是(D )。
A 、int x = 3; B 、char ch = 'c' C 、float f ; D 、case c;2、下列选项中,不合法的常量是(D )。
A 、2 B 、'\n' C 、'a' D 、'\483'3、关于#include<stdio.h>这句代码,下列描述中错误的是(C ) A 、"#"是预处理标志,用来对文本进行预处理操作 B 、include 是预处理指令 C 、一对尖括号可以去掉D 、stdio.h 是标准输入输出头文件4、假设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 的值为( C )。
A 、0 B 、1 C 、2 D 、35、C 语言程序的三种基本结构是( A )。
A 、顺序结构,选择结构,循环结构 B 、递归结构,循环结构,转移结构 C 、嵌套结构,递归结构,顺序结构 D 、循环结构,转移结构,顺序结构6、关于下面的for 循环语句 int i,k; for(i = 0,k = -1;k = 1;i++,k++) printf(“*****”); 下列选项中,描述正确的是(B )A 、判断循环结束的条件非法B 、是无限循环C 、只循环一次D 、一次也不循环7、以下定义语句中,错误的是( D )。
c语言试题及详细答案1. 以下哪个选项是C语言中的关键字?A. intB. floatC. stringD. array答案:A2. 在C语言中,哪个运算符用于计算两个整数的和?A. +B. -C. *D. /答案:A3. 下面哪个选项是C语言中正确的注释方式?A. // 这是一个注释B. /* 这是一个注释 */C. //* 这是一个注释D. /* 这是一个注释 */答案:B4. 在C语言中,以下哪个选项表示的是浮点型变量?A. int a;B. float a;C. char a;D. double a;答案:B5. 以下哪个函数用于输出字符串?A. printf()B. scanf()C. puts()D. getchar()答案:C6. 在C语言中,以下哪个选项表示的是字符型变量?A. int a;B. char a;C. float a;D. double a;答案:B7. 在C语言中,以下哪个选项是正确的函数定义?A. int function() { return 0; }B. int function() { }C. int function() { return 0; }D. int function() { return 1; }答案:C8. 在C语言中,以下哪个选项是正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:A9. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0) { ... }B. if (x > 0) ... }C. if (x > 0) { ... }D. if (x > 0) ... }答案:A10. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++) { ... }B. for (int i = 0; i < 10; i++) ... }C. for (int i = 0; i < 10; i++) { ... }D. for (int i = 0; i < 10; i++) ... }答案:A。
一、填空题1.C语言所提供的基本数据类型包括:单精度、双精度、整型、字符型。
2.若定义int m=8,y=3;则执行y*=y+=m-=y;后y的值是64。
3.Ox10相当于八进制数20 。
4.%m.n表示数据输出的总宽度占M列,其中小数部分占N 列。
5.C语言提供的3种逻辑运算符是非、或者、与。
6.当m=3,n=4,a=5,b=1,c=2时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为1,m 的值为1,d的值为0。
7. 在数组定义格式中,放括号中的元素个数是量。
8. 判断字符串a和b是否相等,应当使用strcmp函数。
9. 在C语言中不能被调用的函数是函数。
10、目前,有两种重要的程序设计方法,分别是面向对象和面向过程。
12、面向对象程序设计的三个特征:多态、继承和封装。
13、在一个C源程序中,注释部分两侧的分界符为___ * */ __ 。
14、do----while 语句至少执行____1____次循环体。
15、在C语言中,一个double型数据在内存中所占的字节数为__8___。
16、若s是unsigned int型变量且已赋初值,则表达式s%2+(s+1)%2的值是__1_______17、表达式3>4的值是___0________18、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后,x的值为11,n的值为6。
19、若x=0,y=0,z=0,则计算表达式x++||y++&&z++后,x的值为1,y的值为1,z的值为1。
二、单项选择题1、下列各高级语言中,(B)是面向对象的程序语言。
A)Basic B)C C)C++ D)Pascal2、一个C程序的执行是从( A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束3、C语言规定,不同类型的数据占用存储空间的长度是不同的。
c语言考试题及答案百度文库一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于将字符串从源地址复制到目标地址?A. strcpyB. strncpyC. strcatD. strcmp答案:A3. 下列哪个选项是C语言中合法的整型常量?A. 0x4FB. 4.5EC. 0b1010D. 0L答案:A二、填空题1. C语言中,用于定义一个变量为静态存储期的关键字是________。
答案:static2. C语言中,用于定义一个变量为自动存储期的关键字是________。
答案:auto3. C语言中,用于定义一个变量为寄存器存储期的关键字是________。
答案:register三、简答题1. 请简述C语言中指针的作用。
答案:指针在C语言中用于存储变量的内存地址,通过指针可以间接访问和修改变量的值,实现动态内存分配和数组操作等功能。
2. 请解释C语言中数组和指针的关系。
答案:在C语言中,数组名可以被当作指向数组第一个元素的指针。
数组的每个元素可以通过指针访问,指针的偏移量可以用于遍历数组。
四、编程题1. 编写一个C语言程序,实现两个整数的加法运算。
答案:```c#include <stdio.h>int main() {int a = 5, b = 10;int sum = a + b;printf("Sum of %d and %d is %d\n", a, b, sum);return 0;}```2. 编写一个C语言程序,实现字符串的反转。
答案:```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int i, j;char temp;for (i = 0, j = strlen(str) - 1; i < j; i++, j--) { temp = str[i];str[i] = str[j];str[j] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```。
一、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语言复习题及参考答案一、单项选择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语言课后复习题答案1. 请解释C语言中变量的作用域和生命周期。
在C语言中,变量的作用域指的是变量可以被访问的代码区域。
局部变量的作用域仅限于定义它的函数或代码块内部,而全局变量的作用域是整个程序。
变量的生命周期是指变量从被创建到被销毁的时间。
局部变量的生命周期从定义它的地方开始,到包含它的函数或代码块结束时结束。
全局变量的生命周期从程序开始执行时创建,到程序结束时销毁。
2. 描述C语言中指针和数组的关系。
在C语言中,指针是一种特殊的变量,它存储了另一个变量的内存地址。
数组名可以被看作是一个常量指针,它指向数组的第一个元素的地址。
通过指针运算,可以访问数组的任意元素。
例如,如果有一个数组`int arr[5];`,那么`arr`指向数组的第一个元素,`arr+1`指向第二个元素,以此类推。
3. 说明C语言中结构体和联合体的区别。
结构体(struct)和联合体(union)都是C语言中用于创建复杂数据类型的复合数据类型。
结构体可以包含不同类型的数据成员,并且每个成员都有自己的内存空间。
联合体则是一种特殊的数据类型,它允许在相同的内存位置存储不同的数据类型,但是任何时候只能存储其中一个成员的值。
结构体和联合体的主要区别在于内存的使用方式和数据的存储方式。
4. 列举C语言中常用的输入输出函数。
C语言中常用的输入输出函数包括`printf()`和`scanf()`用于标准输入输出,`getchar()`和`putchar()`用于单个字符的输入输出,以及`fgets()`和`fputs()`用于字符串的输入输出。
此外,还有`fopen()`、`fclose()`、`fread()`和`fwrite()`等用于文件操作的函数。
5. 解释C语言中的递归函数。
递归函数是一种调用自身的函数。
在C语言中,递归函数通常用于解决可以分解为相似子问题的问题,如计算阶乘、进行排序等。
递归函数需要有一个明确的结束条件,以避免无限递归。
c语言基础习题、复习题(含答案)《C语言设计》复习题一选择题1、以下说法中正确的是(C )。
C语言程序总是从main()函数开始执行2、若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是___C___.C. 2.03、以下叙述正确的是(D )。
D. 用do…while语句构成循环时,在while后的表达式为零时结束循环4、C程序是( B)B. 从Main函数开始5、设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为__C____。
C. 326、设int b=2;表达式b/(b*2)的值是___A_____.A. 07、表示关系X<=Y<=Z的C语言表达式为__A___.A. (X < =Y)&&(Y < =Z)8、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是BB. x=20,y=30,z=309、设A=3,B=4,执行printf("%d,%d",(A,B),(B,A));的输出是___B___.B. 4,310、下面判断正确的是CC. char *s="china";等价于char *s;s="china";11、若有说明:int a[10];,则对a数组元素的正确引用是(D )。
D. a[10-10]12、在C语言中,int、char和short三种类型数据在内存中所占用的字节数DD. 由所用机器的机器字长决定13、C语言规定,函数返回值的类型是由DD. 在定义该函数时所指定的函数类型所决定14、与y=(x > 0?1:x < 0?-1:0);的功能相同的if语句是AA. if(x > 0) y=1; else if(x < 0) y=-1; else y=015、执行语句:for(i=1;i++ < 4;)后;变量i的值是(C )C. 516、语句while(!E);中的表达式!E等价于_____A__A. E==017、假定a和b为int型变量,则执行以下语句后b的值为DD. -418、对以下说明语句的正确理解是____B____int a[10]={6,7,8,9,10};B. 将5个初值依次赋给a[0]至a[4]19、以下不能对二维数组a进行正确初始化的语句是CC. int a[2][3]={{1,2},{3,4},{5,6}}; 20、在C语言中,一维数组的定义方式为:类型说明符数组名___D______D. [整型常量]21、下列说法中正确的是_D___。
一、选择题1、以下叙述中正确的是( A )A、构成C程序的基本单位是函数B、可以在一个函数中定义另一个函数C、main( )函数必须放在其它函数之前D、所有被调用的函数一定要在调用之前进行定义2、以下选项中合法的实型常数是( D )3、以下选项中合法的用户标识符是( B )4、已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量’101’是(A )A、字符AB、字符aC、字符eD、非法的常量5、以下非法的赋值语句是( C )A、n=(i=2,++i);B、j++;C、++(i+1);D、x=j>0;6、设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是( D )7、已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i 的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是(C )A、scanf(“%2d%2d %2d”,&i,&j,&k) ;B、scanf(“%d %d %d”,&i,&j,&k) ;C、scanf(“%d, %d, %d”,&i,&j,&k) ;D、scanf(“i=%d, j=%d, k=%d”,&i,&j,&k) ;8、与数学式子3乘以x的n次方/(2x-1)对应的C语言表达式是(C )A、3*x^n/ (2*x-1)B、3*x**n/ (2*x-1)C、3*pow(x,n)*(1/ (2*x-1))D、3*pow(n,x)/ (2*x-1)9、设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是(B )A、printf (“x=%d “,x);B、printf (“x=%ld “,x);C、printf (“x=%8dL “,x);D、printf (“x=%LD “,x);10、若有以下程序:main( ){int k=2,i=2,m;m=(k+=i*=k); printf (”%d,%d ”,m,i);}执行后的输出结果是( C )A、8,6B、8,3C、6,4D、7,411、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2 的值是( D )A、6B、0C、2D、112、有一函数y=以下程序段中不能根据x的值正确计算出y的值的是( C )A、 if(x>0) y=1;else if (x==0) y=0; else y=-1;B、 y=0; if(x>0) y=1; else if(x<0) y=-1;C、 y=0; if(x>=0) if(x>0) y=1;else y= -1;D、 if(x>=0) if(x>0) y=1;else y= 0;else y=-1;13、以下选项中,与k=n++完全等价的表达式是(A )A、k=n, n=n+1B、n=n+1,k=nC、k= ++ nD、k+=n+114、以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main(){int n,k;float score,sum,ave;sum=0.0;for(n=1;n<=10;n++){for(k=1;k<=4,k++){scanf(“%f”,&score);sum+=score;}ave=sum/4.0;printf(“NO%d:%f “,n,ave);}}上述程序运行后结果不正确,调试中发现有一条语句出现在程序的位置不正确,这条语句是( A )A、sum=0.0;B、sum+=score;C、ave=sum/4.0;D、printf(“NO%d:%f “,n,ave);15、有以下程序段int n=0,p;do {scanf(“%d”,&p);n++} while(p!=12345&&n<3);此处do-while循环的结束条件是(D )A、 p的值不等于12345并且n的值小于3B、 p的值等于12345并且n的值大于等于3C、 p的值不等于12345或者n的值小于3D、 p的值等于12345或者n的值大于等于316、有以下程序( A)main(){int a=15,b=21,m=0;switch(a%3){case 0;m++;break;case 1;m++;switch(b%2){default:m++;case 0;m++;break;}}printf(“%d”,m);}A、1B、2C、3D、417、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( B )A、voidB、intC、floatD、double18、有以下程序int f(int n){if (n==1) return 1;else return f(n-1)+1;}main(){int i,j=0;for (i=1;i<3;i++) j+=f(i);printf(’%d ”,j);}程序运行后的输出结果是( B )A、4B、3C、2D、119、C语言规定,在一个源程序中,main( )函数的位置(C )A、必须在最开始B、必须在系统调用的库函数的后面C、可以任意D、必须在最后20、下列数据中,不合法的C语言实型数据是(C )21、下面4个选项中,均是不合法的用户标识符的选项是(C )A、AP_0doB、floata0_AC、b-agotointD、_123tempint22、设变量a是int型,f是float型,i是double型,则表达式10+’a’+i*f值的数据类型为( C )A、intB、floatC、doubleD、不确定23、能正确表示逻辑关系:”a>10或a<0”的C语言表达式是(D )A、a>=10 or a<=0B、a>=10 | a<=0C、D、a>=10 || a<=024、设以下变量均为int类型,表达式的值不为7的是(C )A、(x=y=6,x+y,x+1)B、(x=y=6,x+y,y+1)C、(x=6,x+1,y=6,x+y)D、(y=6,y+1,x=y,x+1)25、若变量a是int类型,并执行了语句:a=’A’+1.6;,则正确的叙述是(D )A、a的值是字符CB、a的值是浮点型C、不允许字符型和浮点型相加D、a的值是字符’A’的ASCII值加上126、有如下程序main( ){int x=23;do{printf(“%d”x--);} while(!x);}该程序的执行结果是(B )A、321B、23C、不输出任何内容D、陷入死循环27、若变量c为char类型,能正确判断出c为小写字母的表达式是( D )A、’a’<=c<=’z’B、(c>=’a’) || (c<=’z’)C、(’a’<=c) and (’z’>=c)D、(c>=’a’) && (c<=’z’)28、以下不正确的定义语句是( B )A、double x[5]={2.0,4.0,6.0,8.0,10.0};B、int y[5.3]={0,1,3,5,7,9};C、char c1[ ]={‘1’,’2’,’3’,’4’,’5’};D、char c2[ ]={‘\x10’,’\xa’,’\x8’};29、有以下程序fun(int x,int y,int z){z=x*y;}main( ){int a=4,b=2,c=6;fun(a,b,c);printf(“%d”,c);}程序运行后的输出结果是( B )A、16B、6C、8D、1230、下列函数的运行结果是(A )main( ){int i=2,p;int j,k;j=i;k=++i;p=f (j,k);printf(”%d”,p);}int f (int a,int b){int c;if (a>b) c=1;else if (a==b) c=0;else c=-1;return c;}A、-1B、1C、2D、编译出错,无法运行31、下面可以作为C语言程序中标识符的是(A )A、_total3B、num(10)C、2DateD、long32、已知字符‘A’的ASCII值为65,则‘\103’表示的字符是( C )A、字符AB、字符BC、字符CD、非法常量33、每个C语言程序都必须有一个(B )函数,C程序总是从该函数开始执行。
c语言题库及答案详解C语言题库及答案详解C语言,作为一种广泛使用的编程语言,以其高效、灵活和跨平台的特性,在软件开发、系统编程等领域占据着重要地位。
为了帮助学习者更好地掌握C语言,本文将提供一些常见的C语言题目及其详细解答。
1. 基础语法题- 题目:请编写一个C程序,输出"Hello, World!"。
- 答案:以下是一个简单的C程序示例,用于输出"Hello,World!"。
```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 变量与数据类型题- 题目:声明一个整型变量`a`,初始化为10,并打印其值。
- 答案:在C语言中,可以使用`int`关键字来声明整型变量。
以下是实现题目要求的代码。
```c#include <stdio.h>int main() {int a = 10;printf("The value of a is: %d\n", a);return 0;}```3. 控制结构题- 题目:编写一个程序,判断输入的年份是否为闰年。
- 答案:闰年的判断规则是:如果年份能被4整除但不能被100整除,或者能被400整除,则该年为闰年。
```c#include <stdio.h>int main() {int year;printf("Enter a year: ");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {printf("%d is a leap year.\n", year);} else {printf("%d is not a leap year.\n", year);}return 0;}```4. 数组与循环题- 题目:编写一个程序,求一个整数数组中所有元素的和。
《C语言程序设计》复习题第一、二章一、单项选择题1、下列符号中,不可以作为变量名的是_________。
A、_varB、V AR10C、varxD、2def2、运算符&&代表。
A、按位与B、逻辑与C、逻辑或D、按位取反3、下列字符串为标识符的是__ ___。
A、_1_AB、5_studentC、longD、!DF4、下列属于字符型常量的是。
A、‘AA‘B、―B‖C、‗\a‘D、‘\x93L‘5、表达式18/4*sqrt(4.0)/8值的数据类型为____________.A、 intB、 doubleC、 charD、不确定6、设有单精度变量f,其值为13.4执行语句―n=((int)f%3;‖后,n的值是。
A、1B、4C、4.333333D、4.67、为表示关系x≥y≥z,正确的C语言表达式是。
A、(x>=y)&&(y>=z)B、(x>=y) AND (y>=z)C、(x>=y>=z)D、(x>=z)&(y>=z)8、运算符||代表。
A、按位或B、逻辑或C、按位异或D、按位取反9、若k为int型变量且赋值11,则k++表达式的值为。
A、10B、11C、12D、1310、下列四组选项中,均是合法转义符的选项是。
A、‗\‖‘ ‗\\‘ ‗\n‘B、‗\‘ ‗\017‘ ‗\‖‘C、‗\018‘ ‗\f‘ ‗xab‘D、‗\\0‘ ‗\101‘ ‗xlf‘11、下列不正确的字符常量是。
A、―C‖B、‗\‖‘C、‗‘D、‗K‘12、用C 语言编写的源文件经过编译,若没有产生编译错误,则系统将。
A、生成可执行目标文件B、生成目标文件C、输出运行结果D、自动保存源文件13、下列说法中错误的是。
A、主函数可以分为两个部分:主函数说明部分和主函数体B、主函数可以调用任何非主函数的其他函数C、任何非主函数可以调用其他任何非主函数D、程序可以从任何非主函数开始执行14、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为。
A、算术运算、赋值运算、关系运算B、算术运算、关系运算、赋值运算C、关系运算、赋值运算、算术运算D、关系运算、算术运算、赋值运算15、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A‘+‘6‘-‗3‘;后c2中的值是。
A、CB、DC、68D、不确定的值16、字符串"ABC"在内存占用的字节数是。
A、3B、4C、6D、817、设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d的结果为。
A、1B、2C、3D、418、以下叙述正确的是。
A、C语言程序是由过程和函数组成的B、C语言函数可以嵌套调用,例如:fun(fun(x))C、C语言函数不可以单独编译D、C语言中除了main函数,其他函数不可作为单独文件形式存在19、以下叙述不正确的是。
A、在C程序中,逗号运算符的优先级最低B、在C程序中,MAX和max是两个不同的变量C、若a和b类型相同,在计算了赋值表达式a=b后,b中的值不变D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值20、整型常量不能使用的形式是。
A、二进制B、八进制C、十进制D、十六进制21、C语言源程序的扩展名为,连接后生成文件的扩展名为。
A、.CB、.EXEC、.OBJD、.COM二、填空题1、C语言程序是由组成,其中主函数的名字必须用。
2、C语言程序总是从开始执行。
3、一个函数包含和两大部分,包含在中的内容称为函数体。
4、C语言程序的上机步骤分为、、和四步。
5、注释部分以开始,以结束。
6、在32位系统中,C语言的int型数据占个字节,float型数据占个字节,double型数据占字节,char型数据占个字节。
7、将x定义为整型变量的语句是。
8、将lg定义为长整型变量的语句是。
9、将cg定义为字符型变量的语句是。
10、与x3+3x3y+3xy2+y3对应的C语言表达式是___________________。
11、表达式3.5+1/2的计算结果是。
12、C语言的基本数据类型有___ ___、____ __和___ __。
13、表达式x=x+1表示成增量表达式为。
第三章一、单项选择题1、putchar函数可以向终端输出一个。
A、整型变量表达式B、实型变量值C、字符串D、字符或字符型变量值2、printf函数中用到格式符%5s。
如果字符串长度大于5,则输出按方式;如果字符串长度小于5,则输出按方式。
A、从左起输出该字符串,右补空格B、按原字符长从左向右全部输出C、右对齐输出该字符串,左补空格D、输出错误信息3、阅读以下程序,当输入数据的形式为:25,13,10<CR>(注:<CR>表示回车),则正确的输出结果为。
void 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、48D、不确定值4、根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为。
void main( ){ char ch1,ch2,ch3;输入语句printf(―%c % %c‖,ch1,ch2,ch3);}输入形式:ABC 输出形式:ABCA、scanf(―%c%c%c‖,&ch1,&ch2,&ch3);B、scanf(―%c,%c,%c‖,&ch1,&ch2,&ch3);C、scanf(―%c%c %c‖,&ch1,&ch2,&ch3);D、scanf(―%c%c‖,&ch1,&ch2,&ch3);5、已知ch是字符型变量,下面不正确的赋值语句是。
A、ch=‗a‘+‘b‘;B、ch=‗\0‘;C、ch=‗7‘+‗9‘;D、ch=‖aa‖;6、以下关于结构化程序设计的叙述正确的是。
A、一个结构化程序必须同时由顺序、分支、循环三种结构组成B、结构化程序使用goto语句会很便捷C、在C语言中,程序的模块化是利用函数实现的D、由三种基本结构构成的程序只能解决小规模的问题7、有以下程序#include <stdio.h>void main( ){int a1,a2; char c1,c2;scanf(―%d%c%d%c‖,&a1,&c1,&a2,&c2);printf(―%d,%c,%d,%c‖,a1,c1,a2,c2);}若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是。
(以下_代表空格,<CR>代表回车)A、12a34b<CR>B、12_a_34_b<CR>C、12,a,34,b<CR>D、12_a34_b<CR>8、有以下程序,程序运行后的输出结果是。
#include <stdio.h>void main( ){ int x=011;printf("%d\n",++x);}A、2B、4C、10D、119、执行以下语句后,显示结果为。
x=19; printf(―%x‖,x);A、13B、19C、23D、执行错误10、执行以下语句:显示结果为。
x=97; printf(―%c‖,x);A、97B、aC、AD、执行错误二、程序填空题1、从键盘上输入一个字符,如果是大写字母,则将其转换成小写字母后输出。
#include<stdio.h>void main( ){char ch;scanf(―%c‖,);ch=( )?ch+32:ch;printf(―char=%c\n‖,ch);}2、从键盘分别为变量x和y输入整数,交换它们的值后输出。
#include<stdio.h>void main( ){int x,y; ;scanf(―%d%d‖,&x,&y);z=x;;y=z;printf(―x=%d,y=%d‖,x,y);}三、程序改错题,下面程序片段可能只有一个错,也可能有一个以上的错。
1、void main(){float a1=123.456;printf(―%d‖,a1);}( )改为:()2、printf(―请输入三个数x1,x2,x3:‖);scanf(―%f%f%f‖,x1,x2,x3);( )改为:()3、k=-8567;printf(―%6D\n‖,k);( )改为:()四、编程题。
1、从键盘输入一个四位数,把该整数颠倒过来输出(例如1234变成4321)。
2、写一个程序,从键盘输入两个整数,然后输出这两个数的和、差、积、商。
3、将―China‖译成密码。
加密规则是:用原来的字母后面的第4个字母代替原来的字母(提示:设5个字符型变量,存放5个字符,经运算使各ASCII码增4,再输出)。
第四章一、单项选择题。
1、逻辑运算符两侧运算对象的数据类型。
A、只能是0和1B、只能是0或非0正数C、只能是整型或字符型数据D、可以是任何类型的数据2、判断char型变量ch是否为大写字母的正确表达式是。
A、‗A‘<=ch<=‗Z‘B、(ch>=‗A‘)&(ch<=‗Z‘)C、(ch>=‗A‘)&&(ch<=‗Z‘)D、(‗A‘<= ch)AND(‗Z‘>= ch)3、若希望当A的值为奇数时,表达式的值为―真‖,A的值为偶数时,表达式的值为―假‖。
则以下不能满足要求的表达式是。
A、A%2==1B、!(A%2==0)C、!(A%2)D、A%24、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为。
A、1B、2C、0D、45 、以下程序的运行结果是。
void main( ){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(―%d,%d‖,a,b);}A、2,0B、2,1C、6,0D、6,16 、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。
if(x>y) z=x; x=y; y=z;A、x=10, y=20, z=30B、x=20, y=30, z=30C、x=20, y=30, z=10D、x=20, y=30, z=207、以下程序的运行结果是。