[新]C语言期末复习,经典练习题+知识点总结+模拟考题 三位一体,(3)

2020-03-26 20:10

作业五---求公式近似值

2. 【问题描述】

已知ex的近似值可由下面公式计算得出:

ex=1 + x/1! + x2/2! + x3/3! + ...... + xn/n! 给定x和n,利用上述公式求得ex的近似值。

【输入形式】

从控制台输入小数x,和整数n(n>=1),用空格隔开。

【输出形式】

向控制台输出求得的ex 的近似值(小数点后保留6位有效数据)。

【样例输入】

7 27

【样例输出】

1096.633156

【样例说明】

输入的x为7,n的值为27,即:求e7的近似值,利用上述公式求得的近似值为:1096.633156。

【评分标准】

该题要求输出ex的近似值,共有5个测试点。上传C语言文件名为formula.c。

#include int main() { double x,s,y;

11 / 30

int n,i; double t; scanf(\ t=1; s=1; y=1; for(i=1;i<=n;i++) { t*=i; y*=x; s+=y/t; } printf(\ return 0; }

作业六: 选择题

# 题目

1. 若有变量定义int a; double b; 要输入数据存放在a和b中,则下面正确的输入数据的语句为:C

A. scanf(\B. scanf(\C. scanf(\D. scanf(\

2. 在C语言程序中,以下正确的描述是 (A) 函数的定义可以嵌套,但函数的调用不可以嵌套B

(B) 函数的定义不可以嵌套,但函数的调用可以嵌套

(C) 函数的定义和函数的调用均不可以嵌套

(D) 函数的定义和函数的调用均可以嵌套 3. 以下正确的函数声明形式是A

(A) double fun(int x, int y) (B) double fun(int x; int y)

(C) double fun(int x, int y); (D) double fun(int x, y);

实验六---字符串中字符排序

1. 【问题描述】编写一个程序,从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。 【输入形式】用户在第一行输入一个字符串。 【输出形式】程序按照字符(ASCII)顺序从小到大排序字符串,并删除重复的字符进行输出。

【样例输入】badacgegfacb 【样例输出】abcdefg 【样例说明】用户输入字符串badacgegfacb,程序对其进行按从小到大(ASCII)顺序排序,并删除重复的字符,最后输出为abcdefg 【评分标准】结果完全正确得20分,每个测试点4分。提交源程序名为stringsort.c

#include int main() { char str[500]={0},hash[256]={0}; int i; scanf(\ for(i=0;str[i]!='\\0';i++) hash[str[i]]=1; for(i=0;i!=256;i++) if(hash[i]==1) printf(\ printf(\ scanf(\}

作业七:

选择题 # 题目

1. 若有说明: char *language[] = {\\\\\则以下不正确的叙述是D

(A) language+2 表示字符串\的首地址

12 / 30

(B) *language[2]的值是字母P

(C) language是一个字符型指针数组,它包含5个元素,每个元素都是一个指向字符串变量的指针

(D) language包含5个相同长度的数组

2. 设有说明 int (* ptr) [M]; 其中ptr是C (A) M个指向整型变量的指针

(B) 指向M个整型变量的函数指针

(C) 一个指向具有M个整型元素的一维数组的指针

(D) 具有M个指针元素的一维指针数组,每个元素都只能指向整型量

3. 下面能正确进行字符串赋值,并且能确保字符串以’\\0’结尾的操作是C (A) char s[5] = {\

(B) char s*5+ = ,’A’, ’B’, ’C’, ’D’, ’E’-; (C) char *s; s = \(D) char *s; scanf(\

4. 若有说明: char *language[] = {\\\\\则表达式 *language[1] > *language[3] 比较的是C (A) 字符F和字符P

(B) 字符串BASIC和字符串JAVA (C) 字符B和字符J

(D) 字符串FORTRAN和字符串PASCAL

5. 若有以下定义,则数值不为3的表达式是 int x[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p1;C

(A) x[3]

(B) p1 = x + 3, *p1++ (C) p1 = x + 2, *(p1++) (D) p1 = x + 2, *++p1

6. 以下正确的说明语句是A (A) int *b[] = {1, 3, 5, 7, 9};

(B) int a[5], *num[5] = {&a[0], &a[1], &a[2], &a[3], &a[4]};

(C) int a[] = {1, 3, 5, 7, 9}; int *num[5] = {a[0], a[1], a[2], a[3], a[4]};

(D) int a[3][4], (*num)[4]; num[1] = &a[1][3];

当前编程题:实验七---整数的N进制字符串表示

1. 【问题描述】编写函数itob(n,s,b),用于把整数n转换成以b为基的字符串并存储到s中. 编写程序,使用函数itob(n,s,b)将输入的整数n,转换成字符串s,将s输出.转换后的字符串从最高的非零位开始输出。如果n为负数,则输出的字符串的第一个字符为’-’。b为大于1小于37的任意自然数值。当b=2时,输出字符只可能是’0’和’1’;当b=16时,输出字符串中可能含有字符为’0’-’9’,’a’-’f’(字母以小写输出)。b还可以是其它数值。比如输入n=33,b=17,则输出33的17进制值为\。

【输入形式】控制台输入整数n和b,其中n可以为负数。n和b以空格分隔.

【输出形式】控制台输出转化后的字符串s. 【样例输入】5 2 【样例输出】101

【样例说明】5的二进制就是101

【评分标准】结果完全正确得20分,每个测试点4分。提交程序名为:itob.c

#include #include

void itob(int n,char s[],int b); void itob(int n,char s[],int b) { int tmp; int i = 0; tmp=n; while (tmp) {

13 / 30

if((tmp%b)>=10) s[i]='a'+tmp%b-10; else s[i]='0'+tmp%b; tmp=tmp/b; i++; } s[i]='\\0'; }

int main() { int n, b, i; char s[100]; scanf(\ itob(n,s,b); for(i = strlen(s) - 1;i>=0;i--) printf(\ return 0; }

第八次 填空题 # 题目

1. 写出程序的运行结果1,2,3,3,5,4 #include main() {

int a[] = {1,2,3,4,5,6}; int *p; p=a;

printf(\ printf(\ printf(\ printf(\ p+=3;

printf(\}

2. 以下程序的运行结果是10 x #include struct n { int x; char c; };

void func(struct n b) {

b.x = 20; b.c= ’y’; }

main() {

struct n a = ,10, ’x’-; func(a);

printf (\}

3. 以下程序的运行结果是6,9

#include void main() {

int i;

for (i=4;i<=10;i++) {

if (i%3==0) continue; printf(\ } }

选择题

# 题目

1. 若有以下程序段 struct dent {

int n; int *m; };

int a=1, b=2, c=3;

struct dent s[3]={{101,&a},{102,&b},{103,&c}}; strcut dent *p =s;

则以下表达式值为2的是A A.(p++)->m B.*(p++)->m

14 / 30

C.(*p).m D.*(++p)->m

2. 下面程序是求数组中的最小的元素,请选择填空。D

findmin(int *s, int t, int *k) {

int p;

for(p = 0;p

if(s[p]

main() {

int a[10],i,*k=&i; for(i=0;i<10;i++) {

scanf(\ } i=0;

findmin(a, 10,k);

printf(\}

A.k=p B.*k=p-s C.k=p-s D.*k=p

3. 有如下定义: struct { int x; char *y;

} tab[2] = {{1, \

语句 printf(\的输出结果是b

4. 已知学生记录的定义为: struct student {

int no;

char name[20]; char sex; struct {

int year; int month; int day; }birth; };

struct student s;

假设变量s中的“生日”应是“1988年5月10日”,对“生日”的正确赋值语句是D (A) year=1988; month=5; day=10; (B) brith.year=1988; birth.month=5; birth.day=10;

(C) s.year=1988; s.month=5; s.day=10;

(D) s.birth.year=1988; s.birth.month=5; s.birth.day=10;

5. 若有以下说明和语句,则下面表达式中值为1002的是D struct student {

int age; int num; };

struct student stu[3] = {{1001, 20}, {1002, 19}, {1003, 21}};

struct student *p; p = stu;

(A) (p++)->num (B) (p++)->age (C) (*p).num (D) (*++p).age

当前编程题:实验八---统计整数

15 / 30

1. 【问题描述】 输入若干个整数,统计出现次数最多的那个整数。如果出现最多的整数有两个以上,打印最早输入的那个整数。 【输入形式】

从标准输入读取输入。第一行只有一个数字N(1≤N≤10000),代表整数的个数。以后的N行每行有一个整数。 【输出形式】

向标准输出打印出现次数最多的那个数字。 【输入样例】 6 11 0 -1 20 0 300

【输出样例】 0

【样例说明】

输入6个整数,其中出现次数最多的是0,共出现两次。 【评分标准】

本题不准使用数学库函数。运行时限1秒,正确得20分,每个测试点4分,提交程序名为count.c。 {{建电脑桌面}}

C 语言总复习C六月,奋战CC语言,大家一起加油啦~~~~~~~~~~~!! 总体上必须清楚的:?

1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch)? 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选


[新]C语言期末复习,经典练习题+知识点总结+模拟考题 三位一体,(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:定语从句The Relative Clause

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: