0039C语言Word文件下载.docx
《0039C语言Word文件下载.docx》由会员分享,可在线阅读,更多相关《0039C语言Word文件下载.docx(32页珍藏版)》请在冰豆网上搜索。
结构化编码。
5、主要数据类型有:
C语言包括基本类型(整型、字符型、浮点型(单、双精度型)枚举类型)、构造类型(数组、结构体、共用体类型)、指针类型、空类型。
数据类型实例依据学生答题评定
6、对所有用到的变量进行"
先定义,后使用”的原因:
凡未被事先定义的,C语言不把他认作变量,这样的目的能是为了保证程序中的变量能被正确的使用。
好处:
(1)每一个变量被指定为一个确定类型,在编译时C语言就能为其分配相应的存储单元。
(2)指定每一个变量属于一个类型,便于在编译时检查在程序变量进行的运算合法性。
7、指针:
就是一个变量的地址
指针变量:
有一个变量专门用来存放另一变量的地址(即指针)。
如果将一个变量的地址(指针)赋给同一类型的指针变量,则该变量为指针变量所指向的变量。
如intx=10,*p=&
x;
则:
整数变量x的值为10,指针变量为p,指针所指向的变量为*p.
8、内部函数:
一个函数只能被本文件中的其它函数调所用,在定义时使用static。
外部函数:
一个函数不光是被本文件中其它函数调用,还可以被其它文件中的函数调用,定义时用extern。
extern可缺省。
9、
在VC环境下,调试程序的基本步骤有编辑、编译、连接、执行
调试程序中常见的错误有语法错误和逻辑错误。
其中语法错误通过编译来实现,逻辑错误通过单步测试和设置断点的方法来发现逻辑错误。
10、一个C程序由若干函数组成,但至少一个主函数。
而每个函数包括函数的首部和函数体。
C语言程序实例依据学生答题评定。
11、若自定义了一个函数,则该函数的首部称之为该函数的原型
函数原型的作用:
调用函数的接口;
用于原型声明
其中函数的调用方法:
函数(实在参数)
函数的原型声明:
当被调用函数在调用函数之后时,必须进行原型声明,在程序最前面或在调用函数中进行声明,声明方法:
函数的首部;
第二次作业
4.写出下列表达式所对应的C语言表达式,其中x,y为整数,a,b,c为实数类型
内容见附件写C语言表达式
(1)x*x-3.0*x*y/(2-y)
(2)sqrt(fabs(a*b-c*c))
(3)sqrt(abs(a*b-c*c)*cos(x)/a)
(4)(1+sqrt(x))/(1-y/x)
(5)cos(x)+sqrt(3*a*b)/(2-y)
(6)sqrt(abs(a*b-c*c)*sin(x)/b)
1.下列表达式的值是多少?
处理表达式后,a的值是多少?
假设整数类型变量a的值为12
(1)a+=a
(2)a-=2
(3)a*=2+3(4)a/=a+a
(5)a%=(n%=2)
n的值等于5(6)a+=a-=a*a
2.已知intx,a=14,;
doubley=3.5;
处理表达式x=(double)y+(a/=a+a)后变量x,y,a的值分别是多少?
表达式的值是多少?
3.已知inta=0,b=8,c=9;
处理表达式a++||b++||c++后变量a,b,c的值是多少?
表达式的值是多少?
1.表达式计算
(1)表达式a=a+a的值是24?
处理表达式后,a的值是24
(2)表达式a=a-2的值是10处理表达式后,a的值是10
(3)表达式a=a*(2+3)的值是60处理表达式后,a的值是60
(4)表达式a=a/(a+a)的值是0,处理表达式后,a的值是60
(5)
表达式a%=(n%=2)的值是0,处理表达式后,a的值是12
(6)表达式a+=a-=a*a的值是-264,处理表达式后,a的值是-264
2.x为3、y为3.5、a为0、表达式的值为3
3.a为1、b为9、c为9,表达式的值为1
第三次作业
[单选题]设doublex=5.168;
,执行printf("
%5.3f\n”,(int)(x*10+0.5)/10.0);
后的输出结果是()
A:
5.218
B:
5.210
C:
5.200
D:
5.168
C
[单选题]
设chars[]="
1234567”;
%d,%d\n”,strlen(s),sizeof(s));
后的输出结果是()
7,7
7,8
8,7
8,8
B
[单选题]设charch=‘a'
;
%d,%c\n”,ch,ch+2);
97,c
97,99
a,c
a,a+2
A
[单选题]下列叙述正确的是()
continue语句的作用是跳出循环体
while循环语句的循环体至少执行一次
do-while循环语句的循环体至少执行一次
switch语句中的每个case语句组必须含有break语句
[单选题]设struct{intx;
inty;
}m[2]={7,3,2,1};
%d\n”,m[0].x/m[1].x*m[0].y);
后的输出结果是()
10.5
9
8.0
7
[单选题]设inta=l,b=2,c=3;
,执行表达式(a>
b)&
&
(c=1)后c的值是()
1
2
3
[单选题]字符串"
\\\"
ABC\"
\\"
的长度是()
11
5
[单选题]求解表达式f=(3.0,4.0,5.0),(2.0,1.0,0.0)后;
下列正确的选项是()
语法错误
使f的值为5.0
使f的值为0.0
使f的值为2.0
[单选题]下列语句中,最正确的赋值语句是()
A=7+b+c=a+7
a=7+b++=a+7
a=7+b,b++,a+7
a=(7+b,c=a+7)
D
[单选题]设m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是()
0,0
0,1
1,0
1,1
[单选题]设inta=2,b;
则执行b=a&
1后b的值是()
[单选题]对于条件表达式(M)?
(a++):
(a--)来说,其中的表达式M等价于()
M==0
M==1
M!
=0
=1
[单选题]若有定义:
chars[81];
以下哪个选项不能实现将字符串"
ThisisaProgram."
存入数组s中()。
gets(s+2)
scanf("
%20s"
s)
C.for(i=0;
i<
18;
i++)((c=getchar())!
='
'
)D.i=0;
while((c=getchar())!
)
D.i=0;
while
下面程序的输出结果是()。
#include<
stdio.h>
voidf(intx,inty)
{inttemp;
temp=x;
x=y;
y=temp;
}
voidmain()
{intx=1,y=3,z=2;
if(x>
y)f(x,y);
elseif(y>
z)f(y,z);
elsef(x,z);
printf("
%d,%d,%d\n"
x,y,z);
1,2,3
3,1,2
2,3,1
1,3,2
[单选题]设有定义"
inta=5,b,*p=&
a;
"
,执行下列语句后,b的值不为5的赋值语句是()。
b=*&
a
b=*p
b=a
b=*a
[单选题]循环语句for(x=0,y=0;
(y!
=123)||(x<
4);
x++);
的循环执行()
无限次
不确定次
4次
3次
[单选题]假定p1和p2是已赋值的字符型指针,则下述有关运算中,非法的是()
A.p2=p1+(p1-p2);
equal."
);
B.if(p1==p2)
C.*(p1-2+p2)=getchar();
*(p1+=2)=*p2
[单选题]对二维数组正确定义并初始化的是()
inta[][3]={1,2,3,4,5,6}
inta[3][3]=(1,2,3,4,5,6);
inta[3][]={{l,2,3>
,{4,5,6}}
inta[3][3]={a,b,c,d,e
[单选题]设inta[]={12,34,56,78},*p=a;
,下列表达式的值为56的是()
p[1+2]
*(a+2)
a[3]
*(p+3)
[单选题]()是C语言提供的合法的数据类型保留字(或称关键字)
Float
unsigned
integer
Char
[单选题]char型常量在内存中存放的是()
ASCII码值
BCD码值
内码值
十进制代码值
[单选题]关下面语句的输出的判断中,正确的是()。
longx=-4L;
printf("
%ld"
x);
输出值为-4
赋值非法
输出值不确定
输出值为4
[单选题]下列符合C语言语法的实数是()
1.5e0.5
3.16e
0.5e-10
e+8
[单选题]chars='
\092'
;
的作用是()
使s包含一个字符
说明不合法,s的值不定
使s包含四个字符
使s包含三个字符
[单选题]表达式a=(a=6,a*6,a+3);
运行后,则a的值为()
39
36
6
[单选题]下列选项中不是C语言提供的合法保留字的是()
switch
cher
case
default
[单选题]下列数据中属于"
字符串常量”的是()
ABC
ABC"
'
abc'
a'
[单选题]执行语句x=(a=3,b=a--);
后,x,a,b的值依次是()
3,3,2
3,2,2
3,2,3
2,3,2
[单选题]设有语句inta=3;
执行语句a+=a-=a*a;
后,变量a的值是()
-12
[单选题]设n=10,i=4;
则赋值运算n%=i+1执行后n的值是()
[单选题]设intm=1,n=2;
则表达式++m==n的值是()
[单选题]表达式(1,2,3,4)的值是(
4
[单选题]下面程序的输出结果是()。
{printf("
%d"
null);
输出0
因变量无定义,编译出错,没有输出
输出-1
[单选题]若有如下程序,要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是()。
{inta1,a2;
charc1,c2;
scanf("
%d%d"
&
a1,&
a2);
%c%c"
c1,&
c2);
}
020AB
1020AB
1020AB
[单选题]有如下程序,输入数据12345<
CR>
后,y的值是()。
{intx;
floaty;
%3d%f"
x,&
y);
12.000000
45.000000
12345.000000
0.000000
[单选题]执行下述程序后,输出的结果是()。
#defineSQR(X)X*X
{inta=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
a);
10
[单选题]设x,y,z,t均为int型变量,则执行x=y=z=1;
t=++x||++y&
++z;
语句后,t的值为()
不定值
{intx=-1,y=4;
intk;
k=x++<
=0&
!
(y--<
=0);
%d,%d,%d"
k,x,y);
}
0,0,3
1,1,2
1,0,3
{inta,b,c=241;
a=c/100%9;
b=-1&
-1;
%d,%d"
a,b);
}
2,0
2,1
6,1
0,-1
[单选题]语句while(!
e)中的条件!
e等价于()
e==0
e!
~e
[单选题]对于for(表达式1;
表达式3)可理解为()
for(表达式1;
0;
表达式3)
1;
表达式1;
表达式3;
[单选题]对于下面程序输出结果的判断中,正确的是()。
for(x=1;
x<
=100;
x++)
if(++x%2==0)
if(++x%3==0)
if(++x%5==0)
%d,"
输出31,61,91
输出30,60,90,
不输出任何内容
输出29,59,89
[单选题]下面程序的执行结果是()。
string.h>
{charx[]="
1234567"
y[12]="
strlen(x),sizeof(x),sizeof(y));
7,7,7
7,8,8
7,8,12
8,8,8
[单选题]下列运算符的操作数必须是整型的是()
/
%
=
[单选题]可用于C语言用户标识符的是()
void,define
2c,DO
For,-abc
as_b3,_123
[单选题]函数调用语句fun(fun(a,a+b,a+c),(a,b,c),5);
中函数fun的参数个数是()
[单选题]设inta=0,b=1;
,下列语句错误的是()
a=b=10;
a++;
b+=a;
(a+b)++;
[单选题]能正确表达数学关系式0≤x<
20的C语言表达式是()
0<
=x<
20
x>
=0||x<
(x<
=0)&
[单选题]正确的C语言字符常量是()
‘\’
‘65’
“A”
‘/n’
[单选题]关于函数,下列叙述正确的是()
一个函数中可以定义其它的函数
C程序总是从main()函数开始执行
main()函数也可以被其它函数调用
一个C程序可以有多个main()函数
第四次作业
[论述题]<
n-1;
i++)<
n;
j++)
1.设floata,b,c;
,若a、b和c分别为三角形的三条边长,它们"
能构成等边三角形”的逻辑表达式是_____(a+b=c)&
(a+c=b)&
(b+c>
a)_______。
2.设inti;
floatf=3.14;
,执行i=(int)f;
后,变量f的值是_____3.14_______。
3.设chars[]=”\t\'
Name\\Address\n”;
,s的长度是____15________。
4.设intx=1,y=3,z;
,执行z=x>
y?
++x:
y++;
后,z的值是____3________。
5.设intm=3;
floatn=12.6;
charch='
,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:
3,12.6a<
回车换行>
,则scanf语句应是___scanf("
%d,%f%c”,&
m,&
n,&
ch);
_________。
6.若定义函数时类型缺省,则该函数默认的类型是____extern________。
7.设inta[5]={l,3,5,7,9},*p=&
a[2];
,则++(*p)的值是___6____
8.以下程序的功能是:
从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。
请填空。
main()
{floatx[1000],sum=0.0,ave,a;
intn=0,i;
printf("
Entermark:
\n”);
%f”,&
a);
while(
(1) a>
=0 )
{sum___
(2)_sum+a___;
x[n]=a ;
n++;
ave=____(3)sum/n___;
Output:
ave=%f\n”,ave);
for(i=0;
n;
i++)if(x[i]<
ave)printf(%5f.2”,x[i]);
9.下列程序的功能是在数组a中寻找最大值的下标,输出数组a中的最大值及其下标。
请填空:
#include"
stdio.h"
{inta[10],i,max;
for(i=0;
10;
i++)
a[i]);
for(
(1)i=1,max=0或max=i=0;
if(a[i]>
a[max])
(2)max=i;
最大值为:
%d,下标是:
(3)a[max],max);
}
10、下列程序的功能是:
从键盘输入10数,找出其中的素数并按降序输出这些素数。
请根据给定的程序和程序的功能完善该程序。
(每空2分,共6分)。