第一章 C语言概述 课后题
一、选择题
1、一个C语言程序总是从( )。
A、主过程开始执行
B、主函数开始执行
C、子程序开始执行
D、主程序开始执行
2、C语言能直接执行的程序是( )。
A、源程序
B、汇编程序
C、目标程序
D、可执行程序
3、以下叙述中正确的是( )。
A、C语言程序中的注释部分可以出现在程序中任意合适的地方
B、花括号“{”和“”只能作为函数体的定界符
C、构成C语言程序的基本组成单位是函数,所有函数名都可以由用户命名
D、分号是C语言语句之间的分隔符,不是语句的一部分
4、以下选项中,不合法的C语言程序函数体是( )。
A、{;}
B、{ }
C、{ printf(“computer”); }
D、{int a=1;}
5、要把高级语言编写的源程序转换为目标程序,需要使用( )。
A、编辑程序
B、驱动程序
C、编译程序
D、诊断程序
二、填空题
1、C语言程序的基本单位是( )。
2、C语言源程序文件名的后缀是( ),经过编译后生成的目标文件名的后缀是( ),经过链接之后生成的可执行文件名的后缀是( )。
3、计算机语言包括( )、( )和( )。其中计算机能够直接识别的语言是( ),( )很接近人们习惯使用的自然语言和数学语言。
4、按照结构化程序设计原则,常见的程序基本结构有( )、( )和( )。
5、循环结构包含( )循环和( )循环。
三、简单题
1、什么是程序?什么是程序设计?
2、解释源程序、目标程序和可执行程序的含义。
3、写出C语言的特点。
四、编程题
1、参照本章例题,编写一个C语言程序,输出以下信息:happy new year!
2、参照本章例题,编写程序求两个数中的较小值。
第二章 C语言程序设计基础 课后题
一、选择题
1、以下选项中,正确的整型数据是( )。
A、1.2
B、-123
C、723 456
D、567 890
2、下面字符常量的表达形式中正确的是( )。
A、“Z”
B、“\’
C、‘1’
D、‘\378’
3、ch为字符型变量,执行语句“ch=’C’+‘5’-‘4’;”,将ch按字符类型输出的结果是( )。
A、D
B、68
C、56
D、不确定的值
4、C语言中要求运算对象必须是整型数据的运算符是( )。
A、++
B、--
C、%
D、/
5、变量a为整型、b为实型、c为双精度型、d为字符型,则表达式a=a*b+d-c的类型是( )。
A、整型
B、实型
C、双精度型
D、字符型
6、有以下定义语句,编译时会出现编译错误的是( )。
A、char a=’a’;
B、char a=’\n’;
C、char a=’aa’;
D、char a=’\x2d’;
7、设有语句“int a=3;”,执行语句printf(“%d %d”,a+1,a++);后输出的值是( )。
A、4 3
B、3 4
C、4 4
D、3 3
二、填空题
1、在C语言中(以16位计算机为例),一个char型数据在内存中所占的字节数为( ),其数值范围是( );一个int型数据在内存中所占的字节数为( ),其数值范围是( );一个long型数据在内存中所占的字节数为( ),其数值范围是( );一个float型数据在内存中所占字节数为( ),其数值范围是( )。
2、字符常量使用一对( )界定单个字符,而字符串常量使用一对( )来界定若干个字符的序列。
3、设“floatx=2.5;int a=7;float y=4.7;”,则表达式x+a%3*(int)(x+y)%2/4的值为( )。
4、已知“char a=’a’,b=’b’,c=’c’,i;”,则表达式i=a+b+c的值为( ) 。
5、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为( )。
6、若有定义“int m=5,n=3;”,则表达式m/=n+4的值是( ),表达式m=(m=1,n=2,n-m)的值是( ),表达式m+=m-=(m=1)*(n=2)的值是( )。
三、简答题
1、简述’a’和”a”的区别。
2、已知,“int m=12,m=15;”,为什么整型变量m的值在运算后不是当初的12,而是15?
3、将下面各数用八进制和十六进制数表示。
十进制数: 32 -1 -32768 2002 -128 0
八进制数:
十六进制数:
4、写出以下程序的运行结果
int main()
{
char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’116’;
printf(“a%c b%c\tc%c\tabc\n”,c1,c2,c3);
printf(“\t\b%c %c”,c4,c5);
return 0;
}
5、写出以下程序的运行结果。
int main()
{
int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf(“%d,%d,%d,%d”,i,j,m,n);
return 0;
}
四、编程题
已知“int x=10,用2;”,写出将x和y的值相互交换的语句。
测试一
一、单项选择题
1、以下描述中正确的是( )
A、C语言程序的执行是从main函数开始的,到程序的最后一个函数结束
B、C语言程序的执行是从第一个函数开始的,到程序的最后一个函数结束
C、C语言程序的执行是从main函数开始的,到程序的main函数结束
D、C语言程序的执行是从第一个函数开始的,到程序的main函数结束
2、若有语句“char a;”,并要将字符a赋给变量a,则下列赋值表达式正确的是( )。
A、a=’a’;
B、a=’a’;
C、a=”97”;
D、a=’97’;
3、若有语句“int a=5;”,则执行语句“a++a*=10;”后,a的值是( )。
A、55
B、100
C、60
D、105
4、设有“int x=11;”,则表达式(x++*1/3)的值是( )。
A、3
B、4
C、11
D、12
5、能正确表达逻辑关系“a>=10”或“a<=0”的C语言表达式是( )。
A、a>=10 or a<=0
B、a>=0 | a<=10
C、a>=10 && a<=0
D、a>=10 || a<=0
6、已有定义“int x=3,y=4;”,则表达式x>y&&y的值是( )
A、true
B、0
C、false
D、1
7、有如下语句,则当x=5是,c的值是( )
int c=5,x;
scanf(“%d”,&x);
switch(x+1)
{
case 6:c++;
case 8:c++;break;
default:c+=3;
}
printf(“%d”,c);
A、6
B、7
C、8
D、语法错误
8、若有以下程序,则语句a=a+1执行的次数是( )
int main()
{
int x=1,a=1;
do
{
a=a+1;
}
while(x);
return 0;
}
A、0
B、1
C、无限次
D、有限次
9、以下程序的输出结果是( )
int main()
{
int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)
s+=a[i][j];
printf(“%d\n”,s);
return 0;
}
A、18
B、19
C、20
D、21
10、C语言中,二维数组在内存中的存放顺序是( )
A、行优先
B、列优先
C、由编译系统决定
D、由用户决定
11、以下程序的输出结果是( )
int main()
{
char ch[]={‘1’,’2’,’\0’,’3’,’4’,’\0’};
printf(“%s”,ch);
return 0;
}
A、1234
B、12034
C、12
D、有语法错误
12、以下程序执行后输出的结果是( )
void f(int x,int y)
{
int t;
if(x<y){t=x;x=y;y=t;}
}
int main()
{
一个完整的c语言程序int a=4,b=3,c=5;
f(a,b);
f(a,c);
f(b,c);
printf(“%d,%d,%d\n”,a,b,c);
return 0;
}
A、3,4,5
B、5,3,4
C、5,4,3
D、4,3,5
13、执行如下程序段后,a的值为( )
int *p,a=10,b=1;
p=&a;a=*p+b;
A、12
B、11
C、10
D、编译出错
14、以下程序执行后的输出结果是( )
int main()
{
int x[8]={8,7,6,5,0,0},*s;
s=x+3;
printf(“%d\n”,s[2]);
return 0;
}
A、随机值
B、0
C、5
D、6
15、若要将文件打开用于追加信息,则以下格式正确的是( )
A、fp=fopen(“”,”r”);
B、fp=fopen(“”,”r+”);
C、fp=fopen(“”,”a+”);
D、fp=fopen(“”,”w”);
16、有定义语句“double x,*p;”,则以下表达式中正确的是( )
A、*p=&x;
B、p=x;
C、p=&x;
D、*p=x;
17、下面程序的正确输出结果是( )。(规定用U表示空格)
int main()
{
float x=5.783,y=-10.2345;
printf(“x=%-8.2f,y=%-8.2f\n”,x,y);
return 0;
}
A、x=5.78UUUU,y=-10.23UU
B、x=5.78,y=-10.23
C、5.78,-10.23
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论