第一篇 C语言程序设计基础
第一章 C语言基础
一、简答题
1.参考书P5图1-7。
2.因为C语言是强类型语言,语法规定必须先定义后使用,只有先定义,系统才能为其分配存储空间。
3.参考书P2。
二、填空题
1. 算法
2. .C , .obj , .exe
3. 提出问题,构造模型,选择方法,编写程序,上机调试
4. 1
5. sin(35.0) + x * cos(60.0)
6. 6
7. 0
三、改错题
1. 参考书上第二页,算法与程序的区别
2. 只能定义为一种类型
3. 必须先定义,后使用
4. 可以随时修改
5. 只有char型变量才只存储一个字节
6. a还是实型变量
7. b中的值不丢失
8. i的类型不变
四、单选
1-5 BDCDC 6-10 DCBBD 11-15 CBADC 16-18 AAA
第二章 顺序结构、选择结构和循环结构的程序设计
一、简答
1. 参考书上23页
2. while先判断,后执行,do while先执行,后判断,循环体至少执行一次
3. 参考书上29页
4. continue,结束本次循环
break,结束循环
区别在于,continue只结束本次循环重新进行下次循环,而break结束整个循环
二、填空题
1. 顺序结构,选择结构,循环结构
2. if else 和switch
3. 语句1 , 语句2
4. 零
5. break , continue
6. 7 , 0
7. > : , 双目
三、单选
1-5 DBDCC 6-10 DBADA 11-15 CBCDA 16-20 ACAAD 21-25 CDCBB 26-29 BCCA
四、程序分析题
1. end 1end
2. num%10 max = t
3. j%3
4. 99
五、编程题
1.
#include <stdio.h>
int main(){
char str[100] ;
gets(str) ;
int n1 , n2 , n3 , n4 , i ;
n1 = n2 = n3 = n4 = 0 ;
for(i = 0 ; str[i] != '\0' ; ++i) {
if(str[i] >= 'A' && str[i] <= 'Z')
++n1 ;
else if(str[i] >= 'a' && str[i] <= 'z')
++n2 ;
else if(str[i] >= '0' && str[i] <= '9')
++n3 ;
else
++n4 ;
}
printf("大写字母:%d\n" , n1) ;
printf("小写字母:%d\n" , n2) ;
printf("数字字符:%d\n" , n3 ) ;
printf("其他字符:%d\n" , n4) ;
return 0;
}
2.
#include <stdio.h>
#include <stdlib.h>
int main(){
int array[4] , min , max , i ;
for(i = 0 ; i < 4 ; ++i)
scanf("%d" , &array[i]) ;
min = max = array[0] ;
for(i = 1 ; i < 4 ; ++i) {
if(array[i] < min)
min = array[i] ;
else if(array[i] > max)
max = array[i] ;
}
printf("min = %d , max = %d\n" , min , max) ;
return 0;
}
3.
#include <stdio.h>
int main(){
float money , lixi ;
int year ;
scanf("%f %d" , &money , &year) ;
switch(year) {
case 1 :
lixi = money * 0.63 / 100 ;
break ;
case 2 :
lixi = money * 0.66 / 100 ;
break ;
case 3 :
lixi = money * 0.69 / 100 ;
break ;
case 5 :
lixi = money * 0.75 / 100 ;
break ;
case 8 :
lixi = money * 0.84 / 100 ;
break ;
default :
printf("输入错误\n") ;
return -1 ;
}
printf("%f\n" , money + lixi) ;
return 0;
}
4.
#include <stdio.h>
int main(){
int x , y ;
scanf("%d" , &x) ;
if(x > 100)
y = x + 8 ;
else if(x < -10)
y = -x + 8 ;
else
y = 0 ;
printf("%d\n" , y) ;
return 0;
}
5.
#include <stdio.h>
int main(){
int i , j , k , m = 3 ;
for(k = 5 ; k < 12 ; k += 2 , --m) {
for(i = 0 ; i < m ; ++i)
printf(" ") ;
for(j = 0 ; j < k ; ++j)
printf("*") ;
printf("\n") ;
}
return 0;
}
6.
#include <stdio.h>
int main(){
printf(" *****\n") ;
printf(" * *\n") ;
printf(" * *\n") ;
printf("*************\n") ;
return 0;
}
第三章 数组
一、简答
1. a:数组名,a[0] :数组第0号元素, &a[1]数组第1号元素的地址
2. 不同,”a”是字符串,末尾有一个’\0’
3. 2 * 3 * 2 = 12个字节
二、填空题
1. 0
2. 按行存放
3. 1014
4.str[14]
5. ‘\0’
三、改错
1. 是0
2. 只能是常量
3. 一定相同
4. 不会给错误信息
5. 没有提供字符串类型
6. 不等价,”ok”末尾有一个’\0’
四、单选
1-5 DBCAC 6-10 DDDCB 11-13 DDC
五、程序分析题
1. AzyD
2. 123
3. 45
4. 4some string * test
5. 统计输入字符串中空格的个数 3 , 1
6. max < a[row][col] min > max min == max
7. a a sum/n x[i] < ave
8. a[i][j] != a[j][i] 1
字符串常量在存储时末尾以什么结束9. j += 2 a[i] > a[j]
10. 1 2 4 5 6 0 0 0 0 0
1 2 3 4 5 6 0 0 0 0
六、编程题
1.
#include <stdio.h>
int main(int argc , char *argv[]) {
int a[11] , i , n ;
printf("请输入十个递增排列的数列:") ;
for(i = 0 ; i < 10 ; ++i)
scanf("%d" , &a[i]) ;
printf("请输入要插入的数:") ;
scanf("%d" , &n) ;
for(i = 9 ; i >= 0 && a[i] > n ; --i) {
a[i+1] = a[i] ;
}
a[i+1] = n ;
printf("插入后数列为:") ;
for(i= 0 ; i < 11 ; ++i)
printf("%d " , a[i]) ;
printf("\n") ;
return 0 ;
}
2.
#include <stdio.h>
#include <string.h>
int main(int argc , char *argv[]) {
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论