
剩余的时间,预留3天做做题。其余时间全部放到数据结构和基本算法的研究上。比如链表、排序算法等。
一般考试就是理论和编程。在学校应该是偏理论。所以先过一遍理论,然后再通过练习加深理论。
祝你好运了
以下答案仅作参考,希望通过你的思考后对你有所帮助。一、
1、函数
2、源程序一般是.c或者.cpp
头文件是.h
编译后是.obj
链接后是.exe
3、分支结构、循环结构
4、从主函数开始执行,即main()函数开始
5、分隔符为分号 即 ;
6、float
7、把12赋值给变量S
8 基本单位是函数
9、0
10、60
11、stdio.h
12、4
13、16
14、%
15、非0
16、3
17、8
18、8
19、int 、char 、float
20、main()
21、10
22、与运算符:&&或运算符:||;非运算符:!
23、getchar()putchar()
24、输入与编辑源程序--对源程序进行编译--与库函数连接--运行可执行的目标程序
25、分支结构、循环结构
26、逻辑表达式、条件表达式
27、?:
28、文件包含、条件编译
二、
1、结果:2 因为:if(a<b)不成立,所以下面语句都不执行。结果为C的初值,也就是2。
2、结果:K 因为A+10后,也就是到了K
3、a ,97 因为‘a’所对应的整数是97
4、没有结果输出。原因两个条件都不成立。
三、
1、
#include <stdio.h>
void main()
{ int a,b,c
printf("请输入三个整数:")
scanf("%d%d%d",&a,&b,&c)
if(a<b) a=b
if(a<c) a=c
printf("最大的数:%d",a)
}
2、
#include <stdio.h>
void main()
{ int sum=0,i
for(i=1i<=50i++)
sum+=i
printf("1—50的和为:%d",sum)
}
3、
#include <stdio.h>
void main()
{ char c
printf("请输入一个大写字母:")
scanf("%c",&c)
printf("\n它的小写字母为:%c",c+32)
}
4、
#include <stdio.h>
void main()
{ float sum=0,temp
int i=1
while(i<=100)
{temp=1/i
sum+=temp
i++
}
printf("结果为:%f",sum)
}
5、
#include <stdio.h>
void main()
{int a,b
printf("请输入两个整数:")
scanf("%d%d",&a,&b)
printf("大的数是:%d",a>b? a:b)
}
6、
#include <stdio.h>
void main()
{int i=1
float sum=0,temp=0
while(i<=99)
{temp=1/i
sum+=temp
i=i+2
}
printf("结果为:%f",sum)
}
一. 选择题 (共15题, 每题2分,共30分)1. 定义结构体的关键字是()
A. union B. enumC.struct D.typedef
2. 设整型变量a为5,使b不为2的表达式是( )
A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:1
3. 下面哪一项是不正确的字符串赋值或赋初值的方法()
A. char *strstr= “china”
B. char str[7]= {‘c’, ‘h’, ‘i’, ‘n’, ‘a’}
C. char str1[]= “china”,str2[]=“123”
D. char str1[10]str1= “china”
4. 以下对二维数组a进行正确初始化的是( )
A. int a[2][3]={{1,2},{3,4},{5,6}} B. int a[ ][3]={1,2,3,4,5,6}
C. int a[2][ ]={1,2,3,4,5,6} D. int a[2][ ]={{1,2},{3,4}}
5. 选出下列标识符中不是合法的标识符的是()
A. hot_do B. cat1 C. _pri D. 2ab
6. 以下说法中正确的是( )
A. C语言程序总是从第一个的函数开始执行
B. 在C语言程序中,要调用的函数必须在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
7. 若已定义:int a[9], *p=a并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为( )
A. p+1 B. a+1 C. a++D. ++p
8. 若有说明: int i,j=7, *p=&i, 则与i=j等价的语句是( )
A. i= *p B. *p=*&j C. i=&j D. i=* *p
9. 若变量c为char类型,能正确判断出c为小写字母的表达式是( )
A. ‘a’<=c<= ‘z’ B. (c>= ‘a’) || (c<= ‘z’)
C. (‘a’<=c) and (‘z’>=c) D. (c>= ‘a’) &&(c<= ‘z’)
10. 以下程序的输出结果是( )
main()
{ int a[]={1,2,3,4,5,6,7,8,9}, *p
p=a
*(p+3)+=2
printf( “%d,%d\n”,*p,*(p+3) )}
A. 0, 5 B. 1, 6 C. 1, 5 D. 0, 6
11. 以下程序的输出结果是( )
main()
{ int a=5
float x=3.14
a*=x*(‘E’- ‘A’)
printf(“%f\n”,(float)a)}
A. 62.000000 B. 62.800000 C. 63.000000 D. 62
12. 以下程序的输出结果是( )
#define f(x) x*x
main()
{ int a=6,b=2,c
c=f(a)/f(b)
printf(“%d\n”,c)}
A. 9 B. 6 C. 36 D. 18
13. 定义如下变量和数组:int iint x[3][3]={1,2,3,4,5,6,7,8,9}
则语句for(i=0i<3i++) printf("%d ",x[i][2-i])的输出结果是( )
A. 1 5 9B. 1 4 7C. 3 5 7 D. 3 6 9
14. 下列程序段的输出结果是 ( )
void main( )
{ int k
for (k=1k<5k++)
{ if(k%2!=0)
printf( “#” )
else
printf(“*”) }
}
A. #*#* B . *#*#C. ## D. **
15. 下列程序执行后输出的结果是( )
int d=1
fun (int p)
{ int d=5
d + =p + +
printf("%d,",d)}
main( )
{ int a=3
fun(a)
d + = a + +
printf("%d\n",d)}
A. 8, 4 B. 9, 6 C. 9, 4 D. 8, 5
二. 填空题(共7题,每空2分,共30分)
1. 数组 int a[3][5]共定义了_______________个元素。
2. 有float f=3.1415927则 printf(“%5.4f”, f )输出的结果是_______________。
3. 下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。
main( )
{ int i
for(i=1_______________i++)
if (_______________)
printf("%d", i);
}
4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是 _______________
5. 以下是使用指针,进行字符串复制的程序,请填空。
main()
{ char a[]= “Tsinghua University”, b[30], *p1,*p2
p1=a
p2=b
for(*p1!= ‘_______________’p1++, p2++)
_______________=_______________
*p2= ‘_______________’
printf(“string a is:%s\n”,a)
printf(“string b is:%s\n”,b)
}
6. 下面程序用冒泡法对数组a进行降序排序,请填空。
main()
{ int a[5]={4,7,2,5,1}
int i,j,m
for(i=0i<4i++)
for(j=0j<_______________j++)
if( _______________<_______________ )
{ m=a[ j]
a[ j]=a[ j+1]
a[ j+1]= m}
for(i=0i<5i++)
printf("%d ",a[i])
}
7. 函数fun的功能是:使一个字符串按逆序存放,请填空。
void fun (char str[])
{ char mint i,j
for(i=0,j=strlen(str)i<_______________i++,j--)
{ m=str[i]
str[i]= _______________
str[j-1]=m
}
printf("the rotated string is %s\n",_______________)
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)