C语言复习资料B(含答案)

合集下载

C语言程序设计模拟试题B(附答案)

C语言程序设计模拟试题B(附答案)

《C语言程序设计》模拟试卷十二一、填空题.(每题2分,共20分)1.C语句必须以号结束2.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是。

3.若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是.4.设有定义:int n,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。

scanf(“%d, " );printf(“%d\n”, .);5.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 .6.有以下程序段int k=0while(k=1)k++;while 循环执行的次数是。

7.表达式a = 1,a + 1,a + + 的值是___________________。

8.设char string[]=″This_is_a_book!″;则数组的长度应是________________。

9.设int a[2][3] = {{2},{3}};则数组元素_____________________的值为3。

10.设有如下变量说明语句int a[8]={44,55,12,42,94,18,6,67},*p=a;则通过指针变量p引用值为18的表达式是____ ____。

11.执行下述程序#include <stdio.h〉int strlength(char a[],char b[]){int num=0,n=0;while (*(a+num)!='\0')num++;while (b[n]){*(a+num)=b[n];num++;n++;}return (num);}main(){char strl[81],str2[81],*p1=str1,*p2=str2;gets(p1);gets(p2);printf("%d\n”,strlength(p1,p2));}若从键盘输入qwertyabcd则输出结果是____ ___.二、单项选择题。

C语言程序设计课程复习考试试题及答案B

C语言程序设计课程复习考试试题及答案B

《C语言程序设计》复习纲要B一、单选题1. 以下对C语言的表述错误的是()。

A. C语言适合于数据管理领域B. C语言是一种结构化语言C. C语言适合编写操作系统D. C语言是伴随UNIX系统发展起来的2. C语言的数据类型中以*表示()数据类型。

A. 空类型B. 结构体C. 指针D. 实型3. 常数的书写格式决定了常数的类型和值,0x1011是()。

A. 8进制整型常量B. 字符常量C. 16进制整型常数D. 2进制整型常数4. 表达式 18/4*sqrt(4.0)/8值的数据类型是()。

A. intB. floatC. doubleD. 不确定5. 下列不可作为C语言赋值语句的是()。

A. x=3,y=5;B. a=b=6;C. i--;D. y=int(x)6. 以下程序运行后,输出结果是()。

main( ){char *s="abcde";s+=2;printf("%ld\n",s);}A. cdeB. 字符c的ASCII码值C. 字符c的地址D. 出错7. 以下说法中正确的是()。

A. #define和printf都是C语句B. #define是C语句,而printf不是C. printf是C语句,但#define不是D. #define和printf都不是C语句8. 下面程序的输出是()。

main( ){ int y=9;for( ; y>0; y--){ if (y%3==0){ printf("%d", --y);continue;}}}A. 741B. 852C. 963D. 8754219. 循环语句不包括()。

A. for;B. case;C. goto;D. continue;10. 设已有定义: char *st="how are you"; 下列程序段中正确的是()。

A. char a[11], *p; strcpy(p=a+1,&st[4]);B. char a[11]; strcpy(++a, st);C. char a[11]; strcpy(a, st);D. char a[], *p; strcpy(p=&a[1],st+2);二、多选题1. 以下对C语言的表述正确的是()。

C语言程序设计期末试题B及答案

C语言程序设计期末试题B及答案

C语言程序设计教程期末考试试卷(B卷)(考试时间90分钟,满分100分)一、选择题(每小题1分,共20分)下面各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。

1. 在C语言中,下列标识符中合法的是( )A. -intB. in1_3C. A_B!DD. const2. 不属于C语言基本数据类型的是( )A. intB. unionC. charD. unsigned3. 下面是对宏定义的描述。

不正确的是( )A. 宏不存在类型问题,宏名无类型,它的参数也无类型B. 宏替换不占用运行时间C. 宏替换只是字符串的简单替代D. 宏替换时先检查类型,类型一致时才可以替换4. C语言中,″\\xfds″在内存中占用的字节数是( )A. 3B. 4C. 5D. 65. 设int x;则执行printf(″%x\n″,~x^x);的结果是( )A. ffffffffB. ffC. 0D. 16. 对于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. 下面输出的结果为( )int 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. pB. p(r)C. 3.14*rD. 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+" )二、填空题(每小题4分,共36分)请将每一个空的正确答案写在答题卡相对应的横线上,答在试卷上不得分。

c语言考试题答案

c语言考试题答案

c语言考试题答案一、选择题1. 答案:B. 除法解析:C语言的除法运算符是"/"2. 答案:C. 'a'解析:单引号括起来的字符表示字符型常量3. 答案:A. 4解析:sizeof运算符返回变量或数据类型所占用的内存字节数,sizeof(int)为44. 答案:D. %解析:%为取模运算符5. 答案:B. 两个数据相加得到一个较大的数据类型解析:当两个不同数据类型的操作数相加时,C语言会自动将较小的数据类型提升为较大的数据类型二、判断题1. 答案:正确解析:数组名可以用作指针常量,但不能用作左值进行赋值操作2. 答案:错误解析:字符串是以'\0'作为结尾的字符数组,因此,字符串数组的长度应该比存储的字符个数多13. 答案:正确解析:字符数组和字符串之间可以相互复制4. 答案:正确解析:指针变量可以指向数组的某一个元素,即数组名可以被解释为指向第一个元素的指针5. 答案:错误解析:字符数组可以用字符串常量进行初始化,但不能用整型数据初始化三、填空题1. 答案:int解析:函数的返回值类型是int2. 答案:break解析:break语句用于终止循环或switch语句的执行3. 答案:指针解析:函数的参数如果需要改变实参的值,则需要使用指针作为参数4. 答案:++解析:++运算符可以使变量的值增加15. 答案:NULL解析:NULL是一个特殊的宏定义,表示空指针常量四、编程题示例代码如下:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```以上代码实现了两个整数相加并输出结果的功能。

C语言复习资料答案

C语言复习资料答案

二、类型及表达式一)合法的标志符:例题:1.是合法的用户自定义标识符的( D )A)ah-spks B)double C)<ctrl> D)_myapple2.以下正确的C语言标识符是( C )A)%x B)a+b C)a123 D)test!3.以下不能定义为用户标识符的是( C )A) Void B) b_2 C) int D) name—二)合法的整型常量例题:1.以下选项中可作为C语言合法整数的是( D )A) 11010 B B) 0583 C) x2b2 D) 0xafb三)合法的实型常量例题:1.以下选项中可作为C语言合法常量的是(A)A)-80. B)-080 C)D))四)合法的字符型常量例题:1.设有说明语句:char a=’\123’;则变量a( A )A)包含1个字符B)包含2个字符C)3个字符D)说明不合法2.C 语言中,“\x5d”在内存中占用的字节数是( A )A) 2 B) 5 C) 4 D) 13.字符串“\t\x42\\bcd\n”的长度是( A )。

A)7 B)10 C)12 D)13五)各种基本类型变量所占的字节数}例题:1.下列式中,值不为4的表达式是(C)A)sizeof(unsigned long) B)sizeof(long) C)sizeof(unsigned int) D)sizeof(float)六)合法的表达式例题:1.设变量a、b、c已定义并赋值,则下列表达式中符合C语言语法规则的是(BC )A)a=5++ B)a=b=c++ C)a%=2 D)b=a+1=2七)表达式的值}例题:1.设整型变量a的值为2,下列表达式值为1的是( C )A)a%3 B)a/3 C)--a D)a++2.下列表达式的值为0的是( A )A) 7/8 B) 7%8 C) 7/ D) 7<83.设float m=, n=; 使m为的表达式是(D)A) m-=n* B) m/=n+9 C) m*=n-6 D) m+=n+24.逗号表达式(a=4*5,a*2),a+15 的值是( A )A) 35 B) 40 C) 55 D) 20!八)++、--运算例题:当i=4,j=5时,表达式3-(i++)*4+(--j)的值如何,i,j的值多少表达式值为-9,i=5,j=4九)表达式的类型例题:1.下列式中,最终运算结果的数据类型不是双精度的表达式的是(A )A)(int)(3+ B)1e-3 C)(double)(3) D)(int)+?二、顺序结构例题:1.putchar函数可以向终端输出一个(D)A)整数B)实数C)字符串D)字符二)printf和scanf语句的使用方法:例题:1.设有语句scanf(%d,%d”,&m,&n);要使m、n的值依次是2、3,正确是输入是( B )A)2 3 B)2,3 C)2;3 D)22.设变量定义为int a,b;执行下列语句时,输入( B),则a和b的值都是10}scanf(“%d,%d”,&a,&b);A)10 10 B) 10,10 C)a=10 b=10 D)a=10,b=103.有以下程序main(){ int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是( A )A)m=123n=456p=789B)m=123 n=456 p=789;C)m=123,n=456,p=789D)123 456 789例题:1.有如下程序段:int a=3,b=15;float f=;printf(“%.1f”,(float)a+b/2+(int)f%3);执行该程序段后,运算结果为:( B )A)B)11.0 C)11 D)[三、选择结构一)关系表达式、逻辑表达式和条件表达式例题:1.在C程序中,用( B )表示逻辑”真”。

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语言程序设计期末复习题及参考答案

C语言程序设计期末复习题及参考答案1. 若变量a的值为10,b的值为20,则表达式a++ + ++b的结果是多少?答案:32解析:在表达式a++ + ++b中,a++表示先使用变量a的值,然后再对a的值进行自增操作;++b表示先对变量b的值进行自增操作,然后再使用变量b的值。

因此,a++ + ++b相当于10 + 21,结果为32。

2. 字符串连接函数strcat()的原型和功能是什么?答案:strcat()函数的原型为char *strcat(char *str1, const char *str2),其功能是将字符串str2追加到字符串str1的末尾,并返回拼接后的字符串起始地址。

3. 请简述switch语句的用法及其与if语句的异同点。

答案:switch语句用于根据不同的情况执行不同的代码分支。

其语法结构为:```cswitch (表达式){case 值1:代码块1;break;case 值2:代码块2;break;...default:默认代码块;break;}```switch语句与if语句的异同点如下:- 相同点:都用于根据条件执行不同的代码分支;- 不同点:1)switch语句的条件表达式只能是整型或字符型,而if语句的条件表达式可以是任意的关系表达式;2)switch语句针对的是多个离散的取值,if语句则根据条件的真假执行对应的代码;3)switch语句执行完一个匹配的分支后会跳出整个switch语句,而if语句在执行条件为真的分支后会继续执行后续的代码。

4. 请写出一个函数,实现将字符串中的大写字母转换为小写字母的功能。

答案:示例代码如下:```cvoid convertToLower(char *str){int i;for (i = 0; str[i] != '\0'; i++){if (str[i] >= 'A' && str[i] <= 'Z'){str[i] += 'a' - 'A';}}}// 使用示例:int main(){char str[] = "Hello World";convertToLower(str);printf("%s\n", str); // 输出:hello worldreturn 0;}```5. 请编写一个程序,从键盘输入一个整数n,然后计算并输出1到n之间的所有整数的累加和。

C语言复习资料(有参考答案)

C语言复习资料(有参考答案)

一、选择题:1.‖a‖在内存中占 B 字节。

A.1个B.2个C.3个D.4个2.‘A‘+10的结果是 A 。

A.‘K‘B.‖K‖C.‘J‘D.‖J‖3.字符型数据在微机内存中的存储形式是:DA.反码 B.补码 C.EBCDIC码 D.ASCII码4. 用C语言编制的源程序要变为目标程序,必须经过:DA. 汇编B.解释C. 编辑D.编译5.以下选项中不合法的用户标识符是AA.abc.cB.fileC.MainD.PRINTF6.以下选项中正确的实型常量是 DA.0B.3. 1415C.0.329 102D. .8717. 执行scanf (―%d%c%f‖,&a,&b,&c) 语句,若输入1234a12f56 则变量a,b,c的值为 C .A. a=1234 b=‘a‘c=12.56B. a=1 b=‘2‘c=341256C. a=1234 b=‘a‘c=12.0D. a=1234 b=‘a12‘c=56.08. 设b=1234 , 执行printf(―%%d@%d‖,b) 语句,输出结果为: D .A. 1234B. %1234C. %%d@1234D. %d@ 12349. 两次运行下面的程序,如果从键盘上分别输入6和4,输出的结果是 A 。

main(){ int x;scanf(―%d‖,&x);if(x++>5)printf(―%d‖,x);elseprinf(―%d\n‖,x--);}A. 7和5B. 6和5C. 7和4D. 6和410. 设a为整型变量,不能正确表达数学关系: 10<a<15的C语言表达式是 A 。

A. 10<a<15B. a==11||a==12||a==13||a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)11. 假设所有变量均为整型,表达式(a=2,b=5,a>b? a++:b++,a+b)的值是: B 。

C语言复习资料,有答案

C语言复习资料,有答案

一、填空题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语言全部考试系统题库含答案

C语言全部考试系统题库含答案

目录第一章 C语言基础知识(C语言概述、算法、数据类型运算符表达式、位运算)一、判断题(正确的填A,错误的填B)R1.在C语言中,逗号运算符的优先级最低。

(A)2.在C语言可执行程序的开始执行点是程序中第一个函数。

(B)3.“5ch”是合法的变量名。

(B)4.C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。

(A)5.当输入数据时,必须指明变量的地址,如scanf("%f",&f) (A)N6.表达式i++与++i在任何场合功能完全相同。

(B)7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。

(A)R8.C语言程序中,语句以逗号结尾。

( B )9.在 C 程序中,APH 和aph 代表不同的变量。

( A )10. a-=7等价于a=a-7。

( A )N11. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按原字符长从左向右全部输出。

(A )12.如果x>y为真或a<b为真,表达式(x>y)&&(a<b)就为真。

( B )13.C语言程序的变量必须先定义再使用。

( A )14.若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b 中的值将丢失。

( B )15.程序的执行总是从main函数开始,在程序的最后一个函数中结束。

(B )16.变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。

(A)17. 运算符优先顺序:赋值运算符<逻辑运算符<关系运算符<算术运算符(B)18.对应float类型的变量,也可以用等号“==”进行数值的判断。

(B)19.表达式:1 && 3.14 和 1 & 3 的值一样大。

(B)20. 为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。

2022年长江大学公共课《C语言》科目期末试卷B(有答案)

2022年长江大学公共课《C语言》科目期末试卷B(有答案)

2022年长江大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。

_______2、一个C语言源程序由若干函数组成,其中至少应含有一个________3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若a、b和c均是int型变量,则执行表达式a=(b=4)+(c=2)后a的值为_______,b的值为_______,c的值为_______。

5、若采用十进制数的表示形式,则077为_______,0111为_______,0xab为_______。

6、与表达式x^=y-2等价的另一书写形式是_______。

7、下面程序段是找出整数的所有因子。

请填空。

scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是_______。

9、下面程序段的运行结果是_______。

int i=5;char c[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);10、已有一维数组a,n为元素的个数,且各元素均有值;函数void process (float*p,int n,float(*fun)(float*,int))为一个可完成下面各种计算的通用函数。

请分别写出用于以下计算的各函数中的调用语句_______、_______和_______。

(1)float arr_add(float*arr,int n)计算数组元素值之和。

C语言期末复习资料

C语言期末复习资料

《C语言》课程综合复习资料一、单项选择1. 若有如下语句: int *p1,*p2; 则其中int所指的是()A. p1的类型B. *p1和*p2的类型C. p2的类型D. p1和p2所能指向变量的类型2. 下列程序段的输出结果是() x=9; while(x>7) {printf(“*”);x--;}A. ****B. ***C. **D. *3. 下列变量的定义及赋值正确的是()A. int i=0;j;B. char c=”A”;C. double x,y,z; x=y=z=100;D. float a=b=100;4. 设有语句:int x=10; x = x -= x - x;,则执行语句后,x的值为()A. 30B. 20C. 10D. 405. 设有语句:float x=1,y; y=x 3/2; 则y的值是()A. 1B. 2C. 2.0D. 2.56. 设有如下定义和执行语句,其输出结果为()int a=3,b=3; a = --b + 1; printf(“%d %d”,a,b);A. 3 2B. 4 2C. 2 2D. 2 37. 设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为()A. strcpy(str1,str2);B. strcpy(str1, “China”);C. strcat(str1,“China”)D. strcat(“Beijing”,str2);8. 设有定义语句:char str[][20]={""Hello"",""Beijing""},*p=str; 则printf(""%d\n"",strlen(p+20)); 输出结果是()A. 0B. 5C. 7D. 209. 设有定义int a[ ]={1,5,7,9,11,13},*p=a 3;则*(p-2),*(a 4)的值是()A. 5 11B. 1 9C. 5 9D. 有错误10. 设有定义:int x=0,y=1,z=1;则运行表达式:x=y >z--后,x,y,z的值分别是()A. 1,1,1B. 1,2,0C. 0,1,1D. 0,2,011. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为()A. 0B. 1C. 2D. 312. 设有定义 int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是()A. a&&bB. a<=bC. a||b c&&b-cD. !((a<b)&&!c||1)13. 设有定义 int a[ ]={1,5,7,9,11,13}, *p=a 3; 则*(p-2) , *(a 4) 的值是()A. 5 11B. 1 9C. 5 9D. 有错误14. 设有定义 char *p=“abcde\0fghjik\0”; 则printf(“%d\n”,strlen(p));输出结果是()A. 12B. 15C. 6D. 515. 设有int x=11;则表达式(x *1/3)的值是()A. 3B. 4C. 11D. 1216. 设a=3,b=4,c=-5,则逻辑表达式:a || b c && b==c 的值是()A. 1B. 0C. 非0D. 语法错17. 若有以下定义:int a[10],*p=a; 则*(p+3)表示的是()A. 元素a[3]的地址B. 元素a[3]的值C. 元素a[4]的地址D. 元素a[4]的值18. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是()A. ps 3B. s[3]C. ps[3]D. ps =3,*ps19. C语言中,函数返回值的类型是由()A. return语句中的表达式类型决定B. 调用函数的主调函数类型决定C. 调用函数时的临时类型决定D. 定义函数时所指定的函数类型决定20. C语言提供的合法关键字是()A. swicthB. chaC. CaseD. default二、读程序题1. "#include <stdio.h>void main(){ int a=4,x=3,y=2,z=1;printf(""%d\n"",(a<x ? a : z<y ? z : x));}"2. "#include <stdio.h>void main(){ int x=12,y=0;if(x>=0){ if(x>0) y=10; }else y=-10;printf(“y=%d\n”,y);}"3. "#include <stdio.h>void main(){ int k=1;switch(k){ case 0: printf(""A""); break;case 1: printf(""B"");case 2: printf(""I"");case 3: printf(""G""); break;default: printf(""E"");}}"4. "#include <stdio.h>#define S(x) x*xvoid main(){int a,k=3,m=1;a=S(k+m);printf(""%d"",a);}"5. "#include <stdio.h>int fun(int a, int b){ if(a>b) return(a);else return(b);}void main(){ int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf(""%d\n"", r);}"6.#include <stdio.h&>void main(){ int k=4,n=0;for(;n<k;){ n++;if(n%3!=0) continue;k- -;}printf(""%d,%d\n"",k,n);}三、编程题1. 写一个判断素数的函数。

c语言复习试题及答案

c语言复习试题及答案

c语言复习试题及答案1. 什么是C语言?C语言是一种通用的、过程式的编程语言,广泛用于系统软件与应用软件的开发。

2. C语言中的关键字有哪些?C语言的关键字包括:int, char, float, double, void, struct, union, enum, return, break, continue, if, else, switch, case, default, while, do, for, goto, sizeof, typedef。

3. 请写出C语言中声明一个整型变量的语句。

int variable_name;4. 如何在C语言中定义一个函数?在C语言中,定义一个函数需要指定返回类型、函数名和参数列表。

例如:int add(int a, int b) {return a + b;}5. 请解释C语言中的数组。

数组是相同数据类型元素的集合,存储在连续的内存位置。

声明数组的语法如下:数据类型数组名[数组大小];6. C语言中如何实现字符串的输入和输出?使用`scanf`函数输入字符串,使用`printf`函数输出字符串。

7. C语言中如何进行文件操作?使用`fopen`函数打开文件,`fprintf`函数写入文件,`fscanf`函数读取文件,`fclose`函数关闭文件。

8. 请写出一个C语言程序,实现计算两个整数的和。

#include <stdio.h>int main() {int a, b, sum;printf("Enter two numbers: ");scanf("%d %d", &a, &b);sum = a + b;printf("Sum of the numbers is: %d", sum);return 0;}9. 什么是指针?指针是一个变量,其值为另一个变量的地址。

C语言常见复习题(选择填空)及参考答案

C语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案一、选择题1.下述标识符中,()是合法的用户标识符。

A.A#CB.getchC.voidD.ab*2.在C语言中,字符型数据在内存中是以()形式存放的。

A.原码B.BCD码C.反码D.ASCII码3.以下选项中不合法的用户标识符是()。

A.abc.cB.fileC.MainD.PRONTF4.以下选项中不合法的用户标识符是()。

A.123B.printfC.Anbsp;D.Dim5.可以在C语言程序中用做用户标识符的一组标识符是()。

A.voidB.as-b3C.forD.2cdefine -123 -abc DoWORD If cas SIG6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。

(1)A.001 B.table_1 C.0_t D.k%Int t*.1 W10 point(2)A.Fast_ B.void C.pbl D.Fast+Big abs fabs beep(3)A.xy_ B.longdouble C.*p D.CHAR变量1 signed history Float7.()是构成C语言的基本单位。

A.函数B.过程C.子程序D.子例程8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。

(1).A.包含3个字符 B.包含2个字符C.包含1个字符D.无定值,说明不合法(2).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法(3).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法9.若x为int型变量,则执行以下语句后,x的值为x=6;x+=x-=x*xA.36B.-60C.60D.-2410.在C语言中,char 型数据在内存中是以()形式存储的。

A.原码B.补码C.ASCII码D.反码11.以下运算符中优先级最低的算符为(),优先级最高的为()。

《c语言程序设计基础》期末考试试卷‘b’及答案

《c语言程序设计基础》期末考试试卷‘b’及答案

一、单项选择题(每小题2分,共30分)答案填入下表1. 在C语言中,下面字符串能用作变量名的是( )。

A、a+bB、autoC、2-andD、a22. 若double x=2,y;则执行y=x+3/2;后,y的值是( )。

A、3.500000 B. 3.000000 C. 2.000000 D. 33.下列关于C语言中字符常量与字符串常量的叙述中,错误的是( )。

A、字符常量是用单撇号括起来的一个字符B、空格字符也可用作字符常量C、字符串常量是用单撇号括起来的一个字符序列D、字符串常量是用双撇号括起来的一个字符序列4. 若有以下变量说明和数据的输入方式,则正确的输入语句为( )。

变量说明:float x1,x2;数据的输入方式:4.52<回车>3.5<回车>A、scanf(“%f,%f”,&x1,&x2);B、scanf(“%f%f”,&x1,&x2);C、scanf(“%3.2f,%2.1f”,&x1,&x2);D、scanf(“%3.2f%2.1f”,&x1,&x2);5.下列程序段的执行结果是( )。

char s[10];s=″abcd″;printf(″%s\n″,s);A、输出abcdB、输出aC、输出abcduuuuuD、编译不通过6. 在一个源文件中定义的全局变量的作用域为()。

A. 本文件的全部范围B. 从定义该变量开始至本文件结束C. 本函数的全部范围D. 本程序的全部范围7.当调用函数时,实参是一个数组名,则向函数传送的是( )。

A、数组的长度B、数组的首地址C、数组每一个元素的地址D、数组每个元素中的值8.若j为整型变量,则下面while循环( )。

j=10;while(j!=0)j=j-1;A、执行0次B、执行1次C、执行10次D、执行无限次9.在while(x)语句中的x与下面条件表达式等价的是:( )。

C语言复习题与答案

C语言复习题与答案

考试时选择题部分需要涂答题卡,请带2B铅笔考试题型:单项选择:填空题:读程序:程序填空:编写程序:一、单项选择1.一个C语言程序是由()。

A.函数组成B.一个主程序和若干子程序组成C.若干过程组成 D.若干子程序组成2.在C语言中,复合语句()。

A. 必须出现在循环或分支中B. 必须包含多条语句C. 必须使用{}将有关语句括起来D. 以上三种都对3. 以下叙述不正确的是()。

A.一个C源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面4. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。

A.必须为字母B.可以是字母、数字和下划线中任一种字符C.必须为下划线D.必须为字母或下划线5. 下面不正确的字符串常量是()。

A. …abc‟B.“12‟12”C.“0”D.“”6. 下面正确的字符常量是()。

A."c" B. "\\" C. 'W' D. ''7. 以下表达式值为3的是()。

A.16-13%10 B. 2+3/2C. 14/3-2D.(2+6)/(12-9)8. 下列表达式的值为0的是()。

A. 3<5B. 3/5.0C. 3/5D. 3%59. 若有代数式3ae/(bc),则不正确的C语言表达式是()。

A. a/b/c*e*3B. 3*a*e/b/cC. 3*a*e/b*cD. a*e/c/b*310. 在C语言中,要求运算数必须是整型的运算符是()。

A. /B. ++C. !=D. %11. 若x、i、j和k都是int型变量,则执行下面表达式后x的值为()。

x=(i=4,j=16,k=32)A. 4B. 16C. 32D. 5212. 执行表达式a=12,a=a+13,a+20后a的值为()。

C语言题库(带详解答案)

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语言复习提纲(含答案)


B) 一个整型表达式 D) 一个不合法的表达式
10
Logo
常见运算符
①算术运算符(+ - * / % ++ --):运算结果为数值。 注意:
自增、自减运算符的应用
②关系运算符(> < == >= <= !=):运算结果为1(真)或0 (假)。
③逻辑运算符(! && ||):运算结果为1(真)或0(假)。
变量:先定义,再使用
标识符:掌握标识符的命名规则:以下划线或字母开始,后 面跟着数字、字母、下划线。 a_b (合法) a-b (不合法)
Logo
8
短整型short 整 数值类型 基本类型 字符类型char 数组 结构体struct 构造类型 共用体union 浮点型 型 整型int 长整型long
第4章 选择结构程序设计
第5章 循环结构程序设计 第6章 利用数组处理批量数据 第7章 用函数实现模块化程序设计 第8章 善于利用指针 第9章 用户自己建立数据类型 第10章 对文件的输入输出
Logo
3
第1章 程序设计和C语言
C语言程序基本构成(1.4.2节),包括:
函数与主函数 程序由一个或多个函数组成 必须有且只能有一个主函数main() 程序执行从main开始,在main中结束,其它函数通过 嵌套调用得以执行。
a/10%10的值为(2),a%10的值为( 3 )
表达式 j=i++/2 的值
注意:两整数相除,结果为整数
Logo
15
C语句分类
程序控制语句(9种):
分支:if( )~else~ ;switch
循环:for( )~;while( )~;do~while( ) 辅助控制:continue;break;goto;return 函数调用语句 表达式语句:表达式加分号构成。

《c语言程序设计》试卷B答案及解析

《c语言程序设计》试卷B答案及解析

-----------------------------------------装---------------------------------------订-----------------------------------线-------------------------------------------------------------年级: 专业: 组别: 学号: 姓名:------------------------------------------密--------------------------------------封-----------------------------------线-------------------------------------------------------------20 19 -20 20 学年第 1 学期XXXXXXXXXX 学院期末考试试卷(闭卷)专业:XXXXXX 年级:XXXXX 课程:计算机软件技术(必修课)一、单项选择题(每小题1分,共30分)1、C 语言的基本构成单位是( )。

A 、 函数B 、 函数和过程C 、 超文本过程D 、 子程序2、一个C 语言程序总是从( )开始执行。

A 、 主过程B 、 主函数C 、 子程序D 、主程序 3、若x 为int 型变量,则执行以下语句后,x 的值为( )。

x=6; x+=x-=x*x;A 、 36B 、 -60C 、 60D 、 -244、以下有4组用户标识符,其中合法的一组是( )。

A 、For -sub Case B 、4d DO SizeC 、f2_G3 IF abcD 、WORD void define 5、以下选项中,能用作数据常量的是( )。

A 、o115 B 、0118 C 、1.5e1.5 D 、115L 6、分析以下程序, 下列说法正确的是( )。

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)。

《C语言程序设计》复习资料2
一.选择题
1.以下选项中合法的用户标识符是()
A.long B._2Test C.3Dmax D.A.dat
2.若变量已正确定义并赋值,以下符合C语言语法的表达式是()
A.a:=b+1 B.a=b=c+2 C.int 18.5%3 D.a=a+7=c+b
3.在TurboC中,double类型变量所占字节数是 _______。

A.2 B.4 C.6 D.8
4.printf()函数的格式说明符中,要输出字符串应使用下面那个说明符:
A.%d B.%s C.%c D.%f
5.使用strcmp( )函数之前, 必须要包含头文件:
A.stdio.h B.string.h C.math.h D.conio.h
6.若x=-1;则关于以下程序段的描述,正确的是()
do
{x=x*x;} while(!x);
A.是死循环B.循环执行两次C.循环执行一次D.有语法错误
7.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()
A.-3 B.9 C.-12 D.6
8.设x、y、z和k都是int型,则执行表达式:x=(y=4,z=16,k=32)后,x的值为()
A.4 B.16 C.32 D.52
9.有如下程序段
int *p, a=10,b=1;
p=&a; a=*p+b; 执行该程序段后,a的值为:()
A.11 B.12 C.10 D.编译出错
10.以下程序段中,printf语句一共执行了:()次。

for( n = 0, i = 1; i <= 5; i++ )
for( j = 1; j <= 10; j++ )
n++; printf( "n=%d\n", n );
A.1 B.5 C.10 D.50
11.下列各语句定义了数组,其中哪一个是正确的____________。

A.int x[6]={0,1,2,3,4,5,6}; B.char x={‘x’,‘y’,‘z’};
C.int x[10]= {0}; D.int x[100]= “100”;
12.若说明int *p,n;则通过语句scanf能够正确读入数据的程序段是()
A.p=&n;scanf("%d",&p); B.p=&n;scanf("%d",*p);
C.scanf("%d",n); D.p=&n;scanf("%d",p);
13.在C语言中,要求运算数必须是整型的运算符是()
A.% B./ C.< D.!
14.以下叙述中正确的是()
A.C程序中注释部分可以出现在程序中任意合适的地方
B.花括号“{”和“}”只能作为函数体的定界符
C.构成C程序的基本单位是函数,所有函数名都可以由用户命名
D.分号是C语句之间的分隔符,不是语句的一部分
15.凡是函数中未指定存储类别的局部变量,其默认的存储类别为。

A. auto B. static C. extern D. register
二.填空题
1.请将代数式
a ac
b b
2
4 2-
+
-
改写成C语言的表达式(—b+sqrt(b*b—4*a*c )/(2*a))___。

2.已知char c[12]={“Student”};则strlen(c))的值为__7 _____。

3.设y是int型变量,请写出判断y既能被5整除又是偶数的关系表达式__
___if( (y%5==0)&&(y%2==0) ) _。

4.在C语言中,字符串输入函数为_ gets( ) ___,字符串输出函数为_ puts( )__
使用这两个函数前应包含stdio.h头文件。

5.语句int a, *p=&a中,“*”是指针运算符,“&”是地址运算符。

6.在函数声明float f1(float m,int n); 中,m,n被称为函数的形参,
当f1被调用时,如fun(10,3.14)中,10,3.14被称为函数的实参。

三.简答题
1. 编程实现1!+2!+3!+……+10!,请填空。

void main( )
{
float s = 0, t = 1;
int n;
for (n=1; n<=10; n++)
{t=__t*n __ ___;
s=__s+t ____ __ _;
}
printf(“1!+2!+3!+……+10!=%f”, s);
}
2. 以下程序的输出结果是___< > < > ____。

main()
{ int i;
for(i=1;i<5;i++)
{ if(i%2= =1)
putchar(‘<’);
else putchar(‘>’);
}
putchar(‘#’);}
3. 下面程序的运行结果是再见Mike 。

main( )
{ char arr[30]=“再见”;
char b[8]=“Mike”;
strcat(arr ,b);
puts(arr);
}
4.以下列程序的输出结果是35 。

int fun( )
{
static int a = 10;
a +=5;
return a;
}
void main()
{
printf(“ %d \n”,fun()+ fun() );
}
5. 以下列程序的输出结果是7 2 。

#include <string.h>
main()
{int x,y;
char a[7]="a0\0a0\0";
x=sizeof(a);
y=strlen(a);
printf("%d %d\n",x,y);
}
6、定义结构体类型Birth,成员包括:名字(name)、年(year)、月(month)、
日(day)。

然后定义一个结构体变量bir01,并按照下表进行初始化。

struct Birth
{
char name[20];
int year;
int month;
int day };
struct Birth bir01={“LiMing”, 1990 ,6,18};
四.编写程序
1.韩信点兵。

韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。

编程计算韩信至少有多少兵。

#include<stdio.h>
main()
{ int i;
for (i=1;i<=1000;i++)
{ if(i%5= =1&&i%6= =5&&i%7= =4&&i%11= =10)
{printf(“兵数:%d\n”,i);
break;
}
}
}
2.输入10个学生的一门课成绩,用一维数组存放其成绩,统计并输出不及格人数及其百分比。

#include<stdio.h>
main()
{float a[10];
int i,j=0;
for(i=0;i<10;i++)
{ scanf("%f",&a[i]);
if(a[i]<60) j++;
}
printf("不及格人数:%d,百分比:%.2f%\n",j,j/10.0*100.0);
}
3. 编写有参、有返回值的自定义函数fun( ),其功能是计算圆柱体的体积。

要求在主函数中指定输入圆柱体的半径和高,调用函数fun( )后输出圆柱体体积。

#include<stdio.h>
float fun(float r,float h)
{
float v;
v=3.14*r*r*h;
return v;
}
main()
{
float r,h,v;
scanf("%f%f",&r,&h);
v=fun(r,h);
printf("体积:%.2f",v);
}。

相关文档
最新文档