c练习2
c语言程序设计练习2

设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b 的值是__A____。
A、6.000000B、6C、5.500000D、6.500000对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是(D)。
A、将5个初值依次赋给a[1]至a[5]B、将5个初值依次赋给a[6]至a[10]C、因为数组长度与初值的个数不相同,所以此语句不正确D、将5个初值依次赋给a[0]至a[4]若调用fputc函数输出字符成功,则其返回值是(D)。
A、1B、EOFC、0D、输出的字符以下叙述中不正确的是(C)。
A、C语言中,随机读写方式不适用于文本文件B、C语言中对二进制文件的访问速度比文本文件快C、C语言中,顺序读写方式不适用于二进制文件D、C语言中的文本文件以ASCⅡ码形式存储数据以下程序的输出结果是 D 。
struct st{ int x;int *y;}*p;int dt[4] = {10, 20, 30, 40};struct st aa[4] = { 50, &dt[0] , 60, &dt[0] , 60, &dt[0] , 60, &dt[0]};main(){ p = aa;pritnf(“%d\n”, ++p -> x);pritnf(“%d\n”, (++p) -> x);pritnf(“%d\n”, ++(*p -> y) );}A、B、C、D、若有定义int a[10],*p=a;,则p+5表示AA、元素a[5]的地址B、元素a[6]的地址C、元素a[6]的值D、元素a[5]的值若执行fopen函数时发生错误,则函数的返回值是(D)。
A、地址值B、1C、EOFD、0若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是(C)。
A、(exp!=1)B、(exp==0)C、(exp!=0)D、(exp==1)判断两个字符串是否相等,正确的表达方式是 DA、while(s1=s2)B、while(s1= =s2)C、while(strcmp(s1,s2)=0)D、while(strcmp(s1,s2)= =0)判断char型变量cl是否为小写字母的正确表达式是(D)。
c语言练习2

练习2一、选择题1.下面关于语句的说法中,正确的是( A B D)。
A、对程序中使用的变量、数组、函数等进行定义、声明的语句属于说明性语句B、表达式后面加;号构成表达式语句C、复合语句中不允许包含另一条复合语句D、对程序执行流程起控制作用的语句属于控制语句2.下面语句中,错误的是( B )。
A、m=x>y>z;B、float x=y=z;C、m=x,m>y;D、{k=m>n;k?:x,y;}3.下面不正确的if语句形式是( A )。
A、if (x=y;) m++;B、if (x<=y) m++;C、if (x-y) m++;D、if ( x ) m++;4.下面不正确的if语句形式是( C )。
A、if (x=y) ;B、if (x==y) m=0,n=1;C、if (x>=y) m=0 else n=1;D、if ( x!=y ) m=n;5.下面程序的运行结果是(A)。
void main(){int x=7,y=8,z=9;if(x>y)x=y,y=z; z=x;printf("x=%d y=%d z=%d\n",x,y,z);}A、x=7 y=8 z=7B、x=7 y=9 z=7 D、x=8 y=9 z=7 D、x=8 y=9 z=86.下面程序的运行结果是(B)。
void main(){int x=6,y=6;if(++x<y++)printf(“%d\n”,x++);elseprintf(“%d\n”,y++);}A、6B、7C、8D、97.下面程序的运行结果是(D)。
void main(){int x=1,y=2,z=3,m=1if(!x)m--;else if(!y)m=2;else if(!z);else m=3;printf(“m=%d\n”,m);}A、0B、1C、2D、38.在下面的if语句中,功能上具有等价关系的两条if语句是(B)。
C语言程序设计_第二阶段练习

江南大学网络教育第二阶段练习题考试科目:《C语言程序设计》第章至第章(总分100分)学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一单选题(共20题,总分值40分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)1.下述对C语言字符数组的描述中错误的是()。
(2分)A.字符数组可以存放字符串B.字符数组的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符"="对字符数组整体賊值D.不可以用关系运算符对字符数组中的字符串进行比较2.有以下程序voidf(int v, int w)(int t;t=v;v=w;w=t;}main(){int x=l,y=3,z=2;if(x>y)f(x,y);else if(y>z) f(y,z);第1页/共io贞第2页/共10页printf("%d,%d,%d\n”,x,y,z);执行后输出结果是()。
(2分) 3.有语句char strl[10], str2[10] = {"books"};则能将字符串books 赋给数组strl 的正确语 句是()° (2分)B. strcpy(strl,str2); D. strcpy(str2,strl);4.若有变量说明:chars, si [20];执行语句:s="student";sl=s;正确的叙述是()。
(2分) B.s 所指向的字符串和si 的值都是"student”C.第一个语句正确,而第二个语句不正确 D,第二个语句正确,而第一个语句不正确 5.C 语言的编译系统对宏命令是()时候处理的。
(2分)A. 在程序运行B. 在程序连接时C. 和源程序其它C 语言同时进行编译时D. 对源程序其它成份正式编译之前进行处理的 6.下列说法不正确的是()。
(2分)A.宏替换不占用运行时间 B,宏无类型C,宏替换只是字符替换 D.宏名必须用大写字母表示7.若有以下说明和语句,则输出结果是()。
C语言基础练习题(含答案)(2)

int k;
scanf(”%d”, &k);
switch(k)
{ case 1: printf(”%d\n”, k++);
case 2: printf(”%d\n”, k++);
case 3: printf(”%d\n”, k++);
case 4: printf(”%d\n”, k++);
D.switch (grade)
{ case ’C’ :printf(”<60\n”);
break;
case ’B’ :printf(”60——84\n”);
break;
default: printf(”grade is error!\n”);
C.!(x%2) D.x%2
12.已知 x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。
A.0 B.语法错
C.1 D.“假”
第二章 选择结构
2.1 选择题
1. 已有定义:int x=3, y=4, z=5; 则表达式!(x+y)+z-1 && y+z/2的值是()。
A.6 B.0 C.2 D.1
2. 设a=5,b=6,c=7,d=8,m=2,n=2, 则执行(m=a>b) && (n=c>d)后n的值为()。
#include ”stdio.h”
main()
{ int a=1;
if (a++>1) printf(”%d\n”, a);
C_C++日常练习试卷(二)--含答案

C/C++日常练习试卷(二)一、单选题1. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A. 类B. 对象C. 函数体D. 数据块答案:A解析:类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。
2. 在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()A. 私有成员B. 公有成员C. 保护成员D. 保护成员或私有成员答案:A解析:在派生类中基类的保护或者基类公有都可以直接访问,基类的私有成员只能是基类的成员函数来访问。
所以选择A项。
3. 对基类和派生类的关系描述中,错误的是()A. 派生类是基类的具体化B. 基类继承了派生类的属性C. 派生类是基类定义的延续D. 派生类是基类的特殊化答案:B解析:派生类的成员一个是来自基类,一个来自本身,所以派生类是基类的扩展,也是基类的具体化和特殊化,派生类是对基类扩展。
B项基类不能继承派生类成员,所以错误。
4. 关于this指针使用说法正确的是()A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B. 保证基类私有成员在子类中可以被访问。
C. 保证基类保护成员在子类中可以被访问。
D. 保证基类公有成员在子类中可以被访问。
答案:A解析:this指针是隐藏的,可以使用该指针来访问调用对象中的数据。
基类的成员在派生类中能否访问,与继承方式有关,与this没有关系。
所以选择A项。
5. 所谓多态性是指()A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数D. 一个对象调用不同名称的对象答案:B解析:多态性有两种静态多态性和动态多态性,静态多态性是指调用同名函数,由于参数的不同调用不同的同名函数;动态多态性是指不同对象调用同名函数时,由于对象不同调用不同的同名函数。
多态性肯定具有相同的函数名,所以选择B项。
6. 一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()A. 内联函数B. 重载函数C. 递归函数D. 嵌套函数答案:A解析:内联函数特征代码少,频繁调用,执行效率高。
计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: 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]); 的输出结果是( C )A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30C. 60D. 756. .以下程序的输出结果是( c )。
main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1B. a++C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c<d?a:d的结果是( a )A.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。
C语言编程练习题(20121208总结) 2

1.从键盘上输入两个整型数据a和b的值,计算它们的加、减、乘、除结果,并将结果输出在屏幕上。
2.从键盘上输入两个float类型数据a和b的值,计算它们的加、减、乘、除结果,并将结果输出在屏幕上。
3.从键盘上输入两个double类型数据a和b的值,计算它们的加、减、乘、除结果,并将结果输出在屏幕上。
当58500<salary<=83500时,rate=35%,deduction=5505;
当83500<salary时,rate=45%,deduction=13505;
54. 从键盘上输入10个成绩,求其平均成绩。
55.编写程序,用公式求π的近似值,直到最后一项的绝对值小于10-6为止。
56.编写程序,求任意整数的各个数位上的数字之和,如输入整数67401,结果为18(因为1+0+4+7+6=18)。
13.从键盘上输入一个秒数,将其转换成对应的小时数、分钟数和秒数。例如,输入5000,则输出应为“1小时23分钟20秒”。
14.从键盘上输入一个天数,将其转换成对应的年数、月数和天数(假设每年均为360天,每月均为30天)。例如:输入1000,则输出应为“2年9个月10天”。
15.大连东联路从联合路入口到南关岭出口全长11.3公里,全程限速70公里/小时,编写程序,计算从联合路到南关岭最短的时间是多少分钟多少秒?
62.编写程序,求满足1+2+3+4+…+n<1000时n的最大值及其和值。
63.编写程序,求s=1+2+4+5+7+8+10+…+100的值。
64.统计100-999之间有多少个满足下列要求的整数:其各位数字之和为5。编写程序,输出这些整数,并计算它们的和。
C语言复习题2练习(输入输出)(有答案)

一、选择题1. 以下程序的运行结果是。
#include <stdio.h>int main( ){ int m=5, n=10;printf(“%d, %d\n〞,m++, --n);return 0;}A.5,9 B.6,9 C.5,10 D.6,102. 有定义语句int a,b; ,假设要通过语句scanf(“%d, %d〞, &a, &b); 使变量a得到数值6,变量b得到数值5,下面形式中错误的选项是。
〔注:□代表空格〕A.6,5<回车> B.6,□□5<回车>C.6 5<回车> D.6,<回车>5<回车>3. 以下程序的输出结果是。
〔注:□代表空格〕#include <stdio.h>int main( ){ printf(“\n*s1=%15s*〞, “chinabeijing〞);pirntf(“\n*s2=%-5s*〞, “chi〞);return 0;}A.*s1=chinabeijing□□□*B.*s1=chinabeijing□□□* *s2=**chi* *s2=chi□□*C.*s1=*□□chinabeijing* D.*s1=□□□chinabeijing* *s2=□□chi* *s2=chi□□*4. 已有如下定义语句和输入语句,假设要求a1, a2, c1, c2的值分别为10、20、A 和B,当从第一列开始输入数据时,正确的数据输入方法是。
〔注:□代表空格〕int a1,a2; char c1, c2;scanf(“%d%c%d%c〞,&a1,&c1,&a2,&c2);A.10A□20B<回车> B.10□A□20□B<回车>C.10□A□20B<回车>D.10A20□B<回车>5. 已有定义int x; float y; 且执行scanf(“%3d%f〞, &x,&y); 语句,假设从第一列开始输入数据12345□678<回车>,则x的值为〔1〕,y的值为〔2〕。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专业:年级:姓名:学号:
一、选择题
1、一个C程序的执行是从____。
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
8、与“for(i=0;i<10;i++) putchar(‘a’+i); ”功能不同的语句是___。
A)for (i=0;i<10;) putchar(‘a’+(++i));
B)for (i=0;i<10;) putchar(‘a’+(i++));
C)for (i=0;i<10; putchar(‘a’+i),i++);
c1=’a’;c2=’b’;
printf(“【】”,c1,c2);
printf(“%c,%c\n”,【】);
【】; }
4、下列程序计算1到100的整数的累加和。
main( )
{int i,__sum=0____;
for(_i=1;【】;i++)【】;
printf(“sum=%d\n”,sum);}
5、以下程序计算整数n的阶乘。
main( )
{ int i,n;
long np;
scanf(“%d”,【】);
np=1;
for(i=1;i<=n;i++)
【】;
printf(“n=%d n!=%、计算1到100之间能被5整除数之和。
2、输出100-999之间所有的水仙花数。
A)098 B)3c C)3H D)’a’
5、设x=2.9,a=8,y=3.7,算术表达式x+a%3*(int)(x+y)%5/2的值是__。
A)3.9 B)4 C)4.2 D)3.75
6、设x=3,y=2,则表达式x*=y+8的值为_____。
A)3 B)2 C)30 D)10
7、能正确表示“当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)
A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+1
二、填空题
1、int x=5,n=5;计算表达式x+=n++后x的值为【】,n的值为【】。
2、C语言运算符中,优先级最低的是【】。
3、要得到下列结果:
a, b
A, B
97,98,65,66
请按要求完善程序。
main( )
{char c1,c2;
D)for (i=0;i<=9;i++) putchar(‘a’+i);
9、有两个字符数组a、b,则以下正确的输入语句是_____。
A)gets(a,b); B) scanf(“%s%s”,a,b);
C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”);
10、若二维数组a有m列,则在a[i][j]前的元素个数为_____。
2、以下叙述不正确的是______。
A)一个C源程序可由一个或多个函数组成
B)在C程序中注释说明只能位于一条语句的
C)C程序的基本组成单位是函数
D)一个C源程序必须包含一个main函数后面
3、一个C语言程序是由_____。
A)一个主程序和若干子程序组成
B)若干过程组成
C)函数组成
D)若干子程序组成
4、以下合法的C常量是_____。