C语言在线测试题目及答案
C语言在线测试题目及
答案
SANY GROUP system office room 【SANYUA16H-SANYHUASANYUA8Q8-
第一章、第二章、第三章
第一题、单项选择题(每题1分,5道题共5分)
1、在以下关于C语言的叙述中,正确的说法是: B
A、C语言比汇编语言快
B、C语言比BASIC语言快
C、C语言比BASIC语言和汇编语言都快
D、C语言比BASIC语言慢
2、在C语言中,不正确的常量是: B
A、0xf6
B、0876
C、.5e-6
D、 3e 2
3、属于低级语言的计算机语言是( )。 B
A、机器语言
B、汇编语言
C、Java语言
D、Pascal语言
4、对于链接,正确的说法为()。 D
A、链接是将源程序和库函数链接到一起,生成可执行程序。
B、链接是将源程序、目标程序和其他源程序链接到一起,生成可执行程序。
C、链接是将源程序、库函数和其他源程序链接到一起,生成可执行程序。
D、链接是将目标程序、库函数和其他目标程序链接到一起,生成可执行程序。
5、下列不能表示常量大写英文字母A的是()。 B
A、常量:‘A’
B、常量:“A”
C、常量:‘\x41’
D、常量:‘\101’
第二题、多项选择题(每题2分,5道题共10分)
1、对于16位系统中,C语言中整数 -8在内存中的错误存储形式是: BCD
A、1111 1111 1111 1000
B、1000 0000 0000 0000
C、1000 0000 0000 1000
D、1111 1111 1111 0111
2、下列关于C语言用户标识符的叙述中,不正确的叙述是: ACD
A、用户标识符中可以出现下划线和中划线(减号)
B、用户标识符中不可以出现中划线,但可以出现下划线
C、用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D、用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
3、关于C语言程序的语句,正确的说法是( )。 BD
A、一条语句只能占一行
B、一行可以书写多条语句
C、语句的结束标识符是句号
D、建议每条语句占一行
4、与汇编程序相比,C语言程序的优点包括( )。 AB
A、更容易移植
B、更容易阅读
C、目标代码质量较高
D、能够进行位操作
5、有关结构化程序设计,正确的说法是( )。 BC
A、每个算法都必须包含三种基本结构
B、每个结构化的算法都可以归结为三种基本结构
C、三种基本结构可以相互嵌套
D、三种基本结构可以交叉设计
第三题、判断题(每题1分,5道题共5分)
1、C语言程序的基本单位是函数。√
2、一个C程序的执行是从main()函数开始,直到最后一个函数结束。×
3、char类型的变量只能存放一个字符。√
4、int类型的数据范围不可能比float类型的大。√
5、链接是将源程序、目标程序和库函数链接到一起,生成可执行程序。×
第四章、第五章
第一题、单项选择题(每题1分,5道题共5分)
1、设x和y均为int型变量,则以下语句:x=x y; y=x-y; x=x-y; 的功能是: D
A、把x和y按从大到小排列
B、把x和y按从小到大排列
C、x中为原来x和y的值的和
D、交换x和y中的值
2、已说明int a=256,执行语句printf(”%x” ,a);的结果是: A
A、100
B、256
C、0ffe
D、00ff
3、已有int x=2,y=7;则printf("%d",x y==6);的输出结果是: A
A、0
B、3
C、9
D、2
4、设int x=10,y=3,则语句printf(“%d%d\n”,x y,x-y);的输出结果是(): C
A、10,3
B、13,7
C、137
D、103
5、已知:int i; char c; float f; 以下表达式中值为整型的算数表达式是( )。 B
A、i f
B、i * c
C、c f
D、i c f
第二题、多项选择题(每题2分,5道题共10分) ABD
1、以下合法的表达式是:
A、x=y=200
B、5 (x=10)
C、5 x=10
D、y x==10
2、不能正确表示条件x≥y≥z的C语言表达式是: ACD
A、(x>=y)&(y>=z)
B、(x>=y)&&(y>=z)
C、(x>=y).AND.(y>=z)
D、(x>=y>=z)
3、设有说明语句:char a=ˊ\72ˊ;,则变量a包含的字符数为: BCD
A、1个字符
B、2个字符
C、3个字符
D、0个字符
4、下列属于C语言标准库函数的为()。 ABCEF
A、sin()
B、sqrt()
C、log10()
D、ln()
E、pow()
F、isalpha()
5、已知“int n;”。若通过scanf函数为变量n输入值,则合法的输入格式控制符为( )。 ACDE
A、%d
B、%f
C、%o
D、%x
E、%c
F、%g
第三题、判断题(每题1分,5道题共5分)
1、逻辑关系“a≥10或a≤0”正确表示的C语言表达式是:a>=10 or a<=
0 。×
2、算术运算符的结合方向均为自左至右。√
3、赋值运算符的优先级低于所有的算术运算符。√
4、若有int x=5;,则(float)x就把x转换为float类型了。×
5、强制类型转换,并不改变原表达式本身的类型。×
第六章、第七章
第一题、单项选择题(每题1分,5道题共5分)
1、下面循环语句中 int a, b; for (a=0, b=1;a<=b 2;a=a 2, b=b-1) printf(“%d”, a); ,循环体的执行次数为: B
A、3
B、2
C、1
D、0
2、以下程序的输出结果是:main(){int x; for(x=1;x<10;x=x 1) for(x=10;x<10;x=x 1); printf("%d\n",x);} A
A、11
B、10
C、12
D、9
3、以下程序的输出结果是:main( ) { int num=0; while (num<=2) { num=num 1; printf(“%d”,num); } } B
A、1234
B、123
C、12
D、1
4、下列运算符中,优先级最高的是( )。 A
A、 B、>
C、&&
D、=
5、表达式10==9的值是( )。 C
A、true
B、2
C、0
D、1
第二题、多项选择题(每题2分,5道题共10分)
1、下列属于结构化程序设计基本结构的是: ABCD
A、顺序结构、选择结构
B、顺序结构、循环结构
C、选择结构、循环结构
D、顺序结构、选择结构、循环结构
2、对于C语言的for循环来讲,下列正确的说法为: BC
A、第一表达式不能放到循环前执行;
B、第二表达式不能放到循环前执行;
C、第三表达式不能放到循环前执行;
D、第三表达式不能放到循环体中执行。
3、设int a=3,b=4,c=5;,则下面的表达式中,值为0的表达式是( )。 ACDE
A、a>b
B、a<=b
C、(a||b)>c
D、a<=(b||c)
E、!((a<b)&&!c||b)
4、当c的值不为0时,则在下列选项中,能正确将c的值赋给变量a、b的是( )。 AC
A、b=a = c;
B、(a=c)‖(b=c) ;
C、(a=c) &&(b=c);
D、a&&(b=c);
5、下列说法中正确的是()。 ABCDE
A、for循环完全可以用while循环替代。
B、while循环完全可以用do{}while循环替代。
C、while循环完全可以用for循环替代。
D、do{}while循环完全可以用while循环替代。
E、do{}while循环和while循环均完全可以用for循环替代。
第三题、判断题(每题1分,5道题共5分)
1、在C语言循环结构中,continue的作用是继续当次循环,break的作用是终止当次循环。×
2、当型循环的循环体可能一次也不执行,直到型循环则至少执行一次。√
3、while语句和switch语句中都可以使用break。√
4、for循环的第二表达式省略,将会导致死循环。√
5、三种循环可以绝对地互相嵌套。√
第八章、第九章、第十章
第一题、单项选择题(每题1分,5道题共5分)
1、下列描述中,合法的数组定义是: D
A、int 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};
2、在定义int a[2][3];之后,下列使用正确的是: D
A、a(1,2)
B、a[1,3]
C、a[2][0]
D、a[1>2][!1]
3、若有定义int a[10]; ,则对数组a的引用正确的是( )。 D
A、a[10]
B、a[6.3]
C、a(6)
D、a[10-10]
4、若有int a[4][5];,则数组a包含的元素个数是( )。 D
A、25
B、9
C、12
D、20
5、若有int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};,则数组a的第1维的长度为( )。 C
A、2
B、3
C、4
D、5
第二题、多项选择题(每题2分,5道题共10分)
1、下列对C语言字符数组的描述中,正确的描述是: ABC
A、字符数组可以存放字符串
B、字符数组中的字符串可以整体输入、输出
C、不可以用关系运算符对字符数组中的字符串进行比较
D、可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
2、根据定义: struct person{char name[9];int age;}; struct person c[10]={"John",17,"Paul",19,"Mary",18,"Adam",16}; 能打印出字母M的语句是: CD
A、printf("%s",c[0].name);
B、printf("%s",c[1].name[0]);
C、printf("%s",c[2].name[1]);
D、printf("%s",c[3].name[2]);
3、若形参是简单变量形式,则对应的实参可以是: ACD
A、常量
B、数组名
C、简单变量
D、数组元素
4、下列描述中,不能正确给字符数组str定义和赋值的是( )。 BCD
A、char str[]={"abcdefghijklmn "};
B、char str[10];str={" abcdefghijklmn "};
C、char str[10]={"abcdefghijklmn"};
D、char str[10];strcpy(str,"abcdefghijklmn");
5、在定义int a[2][3];之后,对数组a的引用错误的是( )。 ABC
A、a(1,2)
B、a[1,3]
C、a[2][0]
D、a[1>2][!1]
第三题、判断题(每题1分,5道题共5分)
1、函数中的形参和调用时的实参都是变量时,传递方式为值传递。√
2、若有func((v1,v2),(v3,v4,v5),v6)调用,说明函数func有6个形参。×
3、在说明一个结构体变量时系统分配给它的存储空间是该结构体中所有成员所需存储空间的总和。√
4、可以在定义数组时只给一部分数组元素赋值。√
5、对数组元素赋予的初值可以依次放在一对圆括号内。×
第十一章、第十二章
第一题、单项选择题(每题1分,5道题共5分)
1、若执行fopen函数时发生错误,则函数的返回值是() B
A、地址值
B、0
C、1
D、EOF
2、已知定义“int x =1, *p”,则合法的赋值表达式是( )。 A
A、p = &x
B、p = x
C、*p = &x
D、*p = *x
3、在C语句中,&后跟指针变量名,表示该指针变量的(( )。 C
A、值
B、别名
C、地址
D、类型
4、若有int a=3,*pa; float f=4.5,*pf=&f;,则下列表述中,错误的是( )。 B
A、pa=&a
B、pa=&f
C、pf=&f
D、*pf=a f
5、若有int a[10],*p=a;,则( )。 C
A、p 可以使p指向下一个字节
B、p =2 相当于p=sizeof(a)/10
C、p 可以使p指向下一个元素,即a[1]的首地址
D、p =2可以使p指向下一个元素,即a[1]的首地址
第二题、多项选择题(每题2分,5道题共10分)
1、C语言中的文件分类是: AD
A、文本文件和数据文件
B、文本文件和二进制文件
C、数据文件和二进制文件
D、顺序文件和随机文件
2、以读写方式打开一个二进制文件fil2,fopen函数的正确的调用方式是: CD
A、FILE *FP; FP=fopen("fil2","r");
B、FILE *FP; FP=fopen("fil2","rb");
C、FILE *FP; FP=fopen("fil2","wb ");
D、FILE *FP; FP=fopen("fil2","rb ");
3、若有int x=3,*px; float y=3,*py;,则正确的赋值表达式是 ( )。 AD
A、px=&x
B、py=&x
C、px=&y
D、py=&y
4、设有定义语句“int x=10, *p=&x”,则表达式的值为10的有()。 BCDE
A、p
B、*p
C、*&x
D、*p=x
E、x=*p
5、设有定义语句“struct {int a;float b;char c;}abc,*p;”,则对结构体成员a的引用可以是( )。 ACD
A、abc.a
B、abc->a
C、(*p).a
D、p->a
第三题、判断题(每题1分,5道题共5分)
1、单目运算符“&”是指针运算符。×
2、函数调用语句fseek(fp,-10L,2)的含义是将文件位置指针从当前位置向文件
头方向移10个字节。×
3、函数中的形参若为指针,则调用时对应位置上的实参不能是数组名。×
4、单目运算符“*”是取地址运算符。×
5、共用体变量的存储单元长度是最长分量的存储长度。√
第十三章、第十四章
第一题、单项选择题(每题1分,5道题共5分)
1、以下程序:main( ) {int x=5; if (x--<5) printf(“%d\n”, x); else printf(“%d\n”, x ); },程序运行后,输出结果是: B
A、3
B、4
C、5
D、6
2、若int w=1, x=2, y=3, z=4;则条件表达式“w>x?w:y<z?y:z”的结果为:B
A、4
B、3
C、2
D、1
3、在函数中定义变量时,若省略存储类型符,系统默认存储类别为( )。 A
A、自动
B、静态
C、外部
D、寄存器
4、在C语言程序中,当调用函数时,正确的是( )。 B
A、形参不需要分配存储单元
B、内部变量开始占用存储单元
C、外部变量开始占用存储单元
D、全局变量开始占用存储单元
5、下列选项中属于三元运算的运算符有( )。 A
A、条件运算符
B、赋值运算符
C、逗号运算符
D、自增运算符
第二题、多项选择题(每题2分,5道题共10分)
1、以下不合法的赋值语句是: BCD
A、x=y=100;
B、d 5=10;
C、x y=100;
D、c=int(a b);
2、如果全局的外部变量和函数体内定义的局部变量重名,则错误说法为: ACD
A、出错
B、局部变量优先
C、外部变量优先
D、全局的外部变量优先
3、在C语言中,存储类别包括()。 AD
A、静态
B、浮点类型
C、整型
D、寄存器
4、下列选项中关于外部变量的作用域,正确的是( )。 BCD
A、外部变量的作用域是所在的源文件
B、外部变量的作用域是整个源程序
C、可以通过extern,将一些外部变量的作用域扩展到多个源文件
D、外部变量若定义为静态的,其他源文件不能使用该外部变量
5、下列选项中关于外部变量,正确的是( )。 CD
A、main函数是主函数,不在main函数内部定义的变量都是外部变量
B、外部变量必须定义在源程序的开始处
C、外部变量必须定义在所有函数的外面
D、定义外部变量时,可以进行初始化
第三题、判断题(每题1分,5道题共5分)
1、有如下程序main(){int x=3; do { printf(“%d”,x--);} while
(!x); } ,该程序的执行结果是陷入死循环。×
2、允许在不同的函数中使用相同的变量名。√
3、关于实型变量的存储,指数位越多,数据的精度越高。×
4、C语言中实型数据在运算时可能会产生误差。√
5、C语言的函数调用时,形参是不需要分配存储单元的。×
第十五章、第十六章、第十七章
第一题、单项选择题(每题1分,5道题共5分)
1、若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a, i; 其中0 ≤ i ≤ 9, 则对a数组元素不正确的引用是: D
A、a[p-a]
B、*(&a[i])
C、p[i]
D、a[10]
2、以下程序运行后,main(){char *s="abcde"; s =2; printf("%
d\n",s); },输出结果是: C
A、cde
B、字符c的ASCII码值
C、字符c的地址
D、值不确定
3、有定义char p[]="AB\0CD\0E";,能输出字符串”ABCDE”的语句为: B
A、printf("%s",p);
B、printf("%s%s%s",&p[0],p 3,p 6);
C、printf("%s%s%s",&p[0],&p[2],&p[3]);
D、printf("%s",&p[0]);
4、若有int f(int a,int b);,则说明函数f( )。 B
A、是一个内部函数
B、能被同一源程序其他文件中的函数调用
C、是一个外部函数
D、只能在本文件中使用
5、以下对C语言函数的有关描述中,正确的描述是( )。 D
A、C函数既可以嵌套定义又可以递归调用
B、函数必须有返回值,否则不能使用函数
C、C程序中有调用关系的所有函数必须放在同一个源程序文件中
D、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
第二题、多项选择题(每题2分,5道题共10分)
1、下列描述中,错误的描述是: BCD
A、凡是C源程序中行首以#标示的控制行都是预处理指令
B、预处理是指完成宏替换和文件包含指定的文件调用
C、预处理指令只能位于程序首部
D、预处理就是完成c编译程序对C源程序第一遍扫描,为编译的词法分析和语法分析做准备
2、下列对宏定义的描述中,正确的描述是: ABD
A、宏不存在类型问题,宏名无类型,参数也无类型
B、宏替换不占用运行时间
C、宏替换是先求出实参表达式的值,然后带入形参运算求值
D、宏替换只不过是字符替代而已
3、下列关于局部变量的说法中,正确的说法是( )。 BCD
A、不能在复合语句中定义变量
B、局部变量是在函数内部定义说明的
C、形参变量属于被调函数的局部变量
D、允许在不同的函数中使用相同的变量名
4、设char s[10];int i=5;,下列表达式中,不正确的表达式是( )。 ACD
A、s[i 6]
B、*(s i)
C、*(&s i)
D、*((s ) i
5、当一个函数为外部函数时,不正确的说法是( )。 ABCD
A、该函数只能被main()调用
B、该函数只能被非主函数调用
C、该函数不能被其他文件调用
D、该函数不能被本文件中函数调用
第三题、判断题(每题1分,5道题共5分)
1、允许在不同的函数中使用相同的变量名。×
2、设有定义语句“struct {int a;float b;char c;}abc;”,则对结构体成员a 的引用可以是abc->a。×
3、可以利用全局变量从函数中得到多个返回值。√
4、可以利用实参从函数中得到多个返回值。√
5、若形参是简单变量形式,则对应的实参不能是数组名。√
c语言期末测试题附答案
c语言期末测试题附答 案 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#
课程代码:A100002 座位号: 《计算机技术基础(C 语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 第一 部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答 案,答对一题得 2 分,共 30 分) 1、以下关于C 语言标识符的描述中,正确的是 【 】。 A )标 识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D )Area 与area 是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d \n”,i,j,k); 3、判断char 类型的变量c1是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是 【 】。 A )’a’&&’b’ B )a<=b C )((a>b)||(b
c语言实验答案
c语言实验答案
//1.1编写一程序,在屏幕上输出如下内容:// X | X | X //---+---+--- // | | //---+---+--- // 0 | 0 | 0 #include
computes their sum,difference,produc t and quotient. //The first number:<第一个整数在此输入> //The second number:<第二个整数在此输入> //Results as follows: //<第一个整数>+<第二个整数>=<和> //<第一个整数>-<第二个整数>=<差> //<第一个整数>*<第二个整数>=<积> //<第一个整数>/<第二个整数>=<商> #include
c语言测试题目
实验一上机操作初步(2学时) 一、实验方式:一人一机 二、实验目的: 1、熟悉VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个C程序。 3、初步了解C程序的特点。 三、实验内容:说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息:(实验指导书P3) ************************* Very Good ************************* 2、计算两个整数的和与积。(实验指导书P4) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书 P4) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验答案:(代码+运行结果截屏) #include
#include
c语言期末考试试题
一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() A.016 B.018 C.017 D.02 3. 不是C语言实型常量的是:() A.55.0 B.0.0 C.55.5 D.55e2.5 4 .字符串“xyzw”在内存中占用的字节数是:() A.6 B.5 C.4 D.3 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5 6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2- `a`,c2-c1);则输出结果为:() (a的ASCII码值为97) A.M,2 B.G,3 C.G,2 D.D,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据 输入是:() A.a=2.2,b=3 B.a=2.2 b=3 C.2.2 3 D.2.2,3 8.表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>y?x:m
C语言实验报告参考答案
《C语言程序设计》 实 验 手 册
《C语言程序设计》实验课程简介 课程名称:C语言程序设计实验 课程性质:专业必修课 课程属性:专业必修课 学时学分:学时32 学分1 开课实验室:软件实验室 面向专业:网络工程、软件工程、计算机科学与技术 一、课程的任务和基本要求 C语言程序设计实验是面向计算机相关专业学生开设的《C语言程序设计》实验课,是配合《C语言程序设计》课程而开设的实验性教育环节。本课程的主要任务是让学生充分掌握C 语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。 二、实验项目 【实验一】最简单的C程序---顺序程序设计 【实验二】逻辑运算和判断选取控制 【实验三】循环结构程序设计(一) 【实验四】循环结构程序设计(二) 【实验五】函数 【实验六】数组(一) 【实验七】数组(二) 【实验八】指针 【实验九】结构体、共用体和文件 【实验十】C程序综合性实验 三、有关说明 1、与其它课程和教学环节的联系: 先修课程:计算机文化 后续课程:面向对象程序设计、Java程序设计、数据结构、软件工程 2、教材和主要参考书目: (1)教材: 《C程序设计习题解答与上机指导》,谭浩强吴伟民著,北京:清华大学出版社,2003年。(2)主要参考书目: 《C语言程序设计》谭浩强主编,清华大学出版社,2003年。
三、实验内容 实验一最简单的C程序---顺序程序设计 (验证性实验 2学时) (一)、实验目的 1.熟悉win-tc程序运行环境 2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法 3.掌握C语言中使用最多的一种语句——赋值语句 4.掌握数据的输入输出方法,能正确使用各种格式控制符 (二)、实验内容 1.写出下列程序的运行结果 (1)#include
C语言考试试题基础版
一、选择题 1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2. 在以下关于C 语言的注释的叙述中,不正确的是 。 A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示 B .编译器在编译一个程序时,将跳过注释,不对其进行处理 C .编译器在编译一个程序时,可发现注释中的单词拼写错误 D .程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A .在C 程序中,严格区分大小写字母 B .一个C 源程序有且仅有一个main 函数 C .在C 程序中,注释只能位于一条语句的后面 D .一个C 程序总是从main 函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. 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,ssiped B. cin ,a10,CPP ,float ,del_word ,signed C. void ,max ,hiy ,
C语言程序设计期末考试试题(含答案)
C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(
#include
C语言实验报告参考答案原
C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #include<> main() {
int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } (2) #include<> main() { int a,b,c,d; float x; a=160; b=46; c=18;
d=170; x=(a+b)/(b-c)*(c-d); printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b 时,将0赋给c。(提示:用条件运算符) 答案: #include<> main() { int a,b,c; a=0; b=-10; c= (a>b) b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7
精选-C语言期末考试题(含答案)
《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是( ) A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中( ) A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是( ) A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是( ) A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不. 相符的是( ) A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是( ) A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是( ) A) x!=0 B) x==1 C) x!=1 D) x==0 8、有以下程序: #include
c语言实验习题及答案详解
1.数据类型 a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;, #include<> main() {double b,d; printf("请输入一个小数:"); scanf("%lf",&b); printf("输出原来的数:%f\n",b); b*=1000; b+=; b=(int)b; d=b/1000; printf("输出现在的数:%.3lf\n0",d); } b.输入一个4位整数,求其得各位数字的平方和;(1234 1+4+9+16=30) #include<> main() {int n,sum=0,i,t; printf("请输入一个四位整数:\n"); scanf("%d",&n); for(i=0;i<4;i++) {t=n%10; n/=10; sum+=t*t; } printf("%d\n",sum);
} c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码; #include<> main() {char ch; ch='A'; ch=65; ch=0x41; ch=0101; ch='\101'; ch='\x41'; } d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz) #include<> main() {int i; for(i=65;i<91;i++) {printf("%c",i); printf("%c",i+32); } printf("\n"); } e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次 #include<> main() { double f1,f2; f1=10e-30;
C语言测试题
C语言测试题 姓名:日期:◆下面的测试题中,认为所有必须的头文件都已经正确的包含了◆数据类型 char 一个字节1 byte int 两个字节2 byte long int 四个字节4 byte float 四个字节4 byet double 八个字节8 byte long double 十个字节10 byte pointer 两个字节2 byte 第一题: main() { char *p,*q; char str[]="Hello,World\n"; q = p = str; p++; printf(q); printf(p); } 运行结果是什么?____________ 第二题: void fun(char* str1, char* str2) { static char buffer[21]; strncpy(buffer, str1, 10); strncat(buffer, str2, 10); *str1 = *str2; str1 = buffer; } main() { char str1[] = "ABC\n"; char str2[] = "BCD\n";
fun(str1, str2); printf(str1); printf(str2); } 程序运行结果是__________________ 第三题: main() { short ar[11]={1,2,3,4,5,6,7,8,9,0,11}; short* par=&ar[1]; int i; for(i=0; i<10; i++) { printf("%-5hd%-5hd%-5hd", ar[i], par[i],*(ar+i)); } } 程序运行结果是__________________ 第四题: main() { short *p, *q; short ar[10]={0}; p = q = ar; p++; printf("%5d", p-q); printf("%5d", (char*)p - (char*)q); printf("%5d", sizeof(ar)/sizeof(*ar)); } 假设sizeof(short)==2 程序运行结果是__________________ 第五题: int sub(int a, int b) { return a-b; }
C语言期末上机考试题及答案
C语言上机考试题—01 1. //#include 1.若x为int型变量,则执行以下语句后,x的值为-60。 x=6; x+=x-=x*x; x=x-x*x=-30 x=x+x=-60 2.若有定义int a[2][3]; 则对a数组的第i行第j列元素地址的正确引用为a[i]+j。 3.若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是*p=*&j。 4.以下叙述正确的是define和if都不能定义为用户标识符。 5. 以下程序的输出结果是2。 #define SQR(X) X*X main() { int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); a/=k+k*m+m/k+k*m+m printf("%d\n",a); } 6. 以下程序的输出结果是4。 main() {int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) for(j=i;j<=i;j++) t=t+b[i][j]; { t=t+b[i][j];} printf("%d\n",t); printf("%d\n",t); }_ 7. 编一个程序,打入星期号,输出该星期的英文名字。例如,输入"1"则输出"Monday",说明:星期日编号为0,要求用指针数组处理。 main() { char *name[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday", "Saturday"}; int n; printf("\nInput the number(0-6):"); scanf("%d", &n); if ((n< 7) && (n>=0)) printf("\nThe name is: %s",name[n]); else printf("\nInput error"); } 8. 局部变量是静态存储变量。错误 9. "文件包含"处理是指一个源文件可以将另一个源文件的内容全部包含进来。正确 10. 若有定义:int *p1,*p2;则p1+p2无实际意义。正确 11. 若在函数内定义形参数组a:int a[3][4];则数组a中各元素可在程序的编译阶段得到初值0。错误 12. 以下不能正确定义二维数组的选项是int a[2][]={{1,2},{3,4}};。 13. 以下程序的输出结果是6 15 15。 int d=1; fun(int p) { static int d=5; d+=p; printf("%d ",d); return(d); } main( ) { int a=3; printf("%d \n", fun(a+fun(d))); } 一1 #include #include 一5 #include 一、选择题 以下表达式中非法的是_______ A. 0<=x<=10 B. i=j==0 C. (char)(65+3) D. x+1=x+1 设有int x=10,y=10; 表达式x&&x-y || x+y 的结果为_______ A.20 B. 10 C. 0 D. 1 若有int x=3;执行语句if(x) x=x+3;else x=x-3; 后,变量x的值为_____ A. 3 B. 6 C. 0 D. 该语句有语法错误 若有定义int x=3; 执行语句while(x>=0) x-- ; 后,变量x的值为_______ A. 3 B. 0 C. -1 D. 2 若有定义int x=3若有定义char st[20]= "abc\ndef"; 则函数strlen(st)的值为_______ A.20 B.8 C.9 D.7; 在函数调用语句fun((x1,x2),(x3,x4,x5))中的实参的个数是_______ A. 1 B. 2 C.3 D. 4 数组初始化为:int a[10]={1,3,5,7}; 则数组元素a[4]的值为_______ A. 0 B. 7 C. 不确定 D. 1 若有定义int x,*p; 能为变量p正确赋值的表达式为________ A. p=x B. p=*x C. p=&x D. *p=x 若有定义struct sk{int a;float b}data; int *p;若要使p指向data中的成员a,正确 的赋值语句为_______________ A.p=&a; B.p=data.a; C.p=&data.a; D.*p=data.a C语言程序语句的分割符,也就是一条语句的结束符是( )。 A.逗号 B.句号 C.分号 D.括号 字符型变量输入、输出的格式是( )。 A.%d b.%f C.%c d.%s 下面求梯形面积的C语句中变量a,b,h,s是float型,不正确的是( )。 a.s=1/2*(a+b)*h B.s=1.0/2*(a+b)*h C.s=1/2.0*(a+b)*h D.s=(a+b)*h/2 While和do/while二种循环语句可能的最少的循环次数分别是( )。 A.0次和0次 B.0次和1次 C.1次和0次 D.1次和1次 说明char a[10]中定义了( )。 A.a[1]至a[10]共10个变量 B.a[1]至a[9]共9个变量 C.a[0]至a[10]共11个变量 D.a[0]至a[9]共10个变量 C语言期末考试复习题及答案 一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正 确的,请将正确的选项涂写在答案纸上。答在试卷上不得分。 (1)C语言规定:在一个源程序中,main函数的位置 D 。 A)必须在最后B)必须在系统调用的库函数的后面。 C)必须在最开始。。D)可以任意 (2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。 A)必须为字母或下划线。。B)必须为下划线。 C)必须为字母D)可以是字母、数字和下划线中的任一种字符。 (3)下面四个选项中,均是正确的八进制数或十六进制数的选项是 B 。 A)-10 0x8f -011 B) 010 -0x11 0xf1 C) 0abc -017 0xc D) 0a12 -0x123 -0xa (4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是 A 。 A)0 ~ 65535 B)0 ~ 32767 C)-32767 ~ 32768 D)-32768 ~ 327687 (5) 若有定义:int a = 7; floa x = , y = ; 则表达式x + a % 3 * (int) (x + y) % 2/4 的值是 D 。 A) B) 0.00000 C) D) (6)已知ch是字符型变量,下面不正确的赋值语句是 B 。 A)ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ; (7) 设x , y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的 -前言- /*非常感谢度娘以及各位网上C语言高手的支持,才能让敝人完成此文档的整理。 本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%(不正确的有标注)。为回报度娘及众网友的帮助,本文档免费下载。 */ /*配“电子科技大学出版社(周信东主编)”的C语言程序设计实验*/ /*努力吧,骚年以及学妹们!*/ /*整理ed by 口玉刀一of GUET.*/ ===================== 实验一C语言程序初步 ===================== 1.---------------------------- 已知a=5,b=4,c=6,求出s并换行 #include"stdio.h" main() { int a,b,c,s; a=5;b=4;c=6; s=(a+b+c)/3; printf("a=%d,b=%d,c=%d\n,s=%d",a,b,c,s); } 2.------------------------------- 输入一个数字求他的平方 #include { int v; int a,b,c; //a,b,c aer sides,v is volume of cube a=3;b=3;c=5; v=a*b*c; printf("v=%d\n",v); } ================================= 实验二数据类型、运算符和表达式 ================================= 1. (1)-------------------------------------------------- //总觉得打印结果怪怪的,DO YOU THINK SO? main() { char s1='3',s2='4',s3='5'; int c1=101,c2=102; printf("3%c\t4%c\t5%c\n",s1,s2,s3); //3%c为输出3和%c printf("s1=%d\ts2=%d\ts3=%d\n",s1,s2,s3);//注意哦,s1,s2,s3是char!而%d:输入输出为整形%ld 长整型%hd 短整型%hu无符号整形%u %lu%s:输入输出为字符串%c字符%f:输入输出为浮点型%lf双精度浮点型printf("c1=%d\t~%c\n",c1,c1); //换码符'\t',表示水平制表位(horizeontal tab),它的作用是将光标移到最接近8的倍数的位置 printf("c2=%d\t~%c\n",c2,c2); //注意c1,c2的类型 } (2) //运行结果为8.300000 %是求余数先运算x-y,把结果转换为int型的有利于四则运算 main() { float x=8.3,y=4.2,s; int a=7; s=x+a%5*(int)(x-y)%2/3; printf("s=%f",s); } 课程代码:A100002座位号: 《计算机技术基础(C语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年月日 第一部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分) 1、以下关于C语言标识符的描述中,正确的是【】。 A)标识符可以由汉字组成B)标识符只能以字母开头 C)关键字可以作为用户标识符D)Area与area是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678 3、判断char类型的变量c1是否为数字字符的正确表达式为【】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。 A)’a’&&’b’ B)a<=b C)((a>b)||(b A. *(a[0]+2) B. a[1][3] C . a[1][0] D. *(*(a+1)+2) 6、在循环语句的循环体中执行break语句,其作用是【】。A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行 7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。A)10 B)9 C)0 D)1 8、若有int *p1, *p2,k; 不正确的语句是【】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是【】 A. 静态(static) B. 外部(extern) C. 自动(auto)D. 寄存器(register) 10、如下程序的输出结果是【】 main( ) { int x=2,a=0,b=0; switch(x) { case 2: a++; b++; case 1: ++a; b--; break; case 0: b++;} printf("a=%d, b=%d\n", a, b);} A. a=2, b=0 B. a=2, b=1 C. a=1, b=1 D. a=1, b=0 11、表示关系a main() {int x; scanf(“%d”,&x); if(x<=3) ; else if(x !=10)printf(“%d\n”,x); } 程序运行时,输入的值在哪个范围才会有输出结果。【】C语言考试试题
C语言实验答案
c语言考试试题
C语言期末考试复习题及答案
C语言程序设计实验-答案
c语言期末测试题(附答案)