分类题_复习题分类

2020-02-28 其他范文 下载本文

分类题由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“复习题分类”。

分类题

基础概念

一、数据存储、位运算

1、将二进制10001101分别转化为十六进制和十进制数。

2、分别计算八进制165的十进制值和十进制165的十六进制值。

3、已知变量 int a =-1;则 printf(“%d,%u,%x,%o”,a,a,a,a);的输出为:

A.–1,-1,-1,-1

B.–1,65535,-1,-1 C.–1,65535,ffff,177777 D.–1,65535,-ffff,-1777774、计算表达式的值:(~3 ^-15)。

二、表达式

sin(ab)

1、写出数学式 2x3 的C语言表达式

2、试写出逻辑判断“条件x的值大于100和y的值小于100,要么同时成立要么同时不成立”对应的C表达式。

3、写出逻辑表达式:正整数n是一个三位数。

4、用一个表达式描述下列命题

1)a小于b或小于c 2)a和b都小于c 3)a和b中有一个小于c5、写出算术表达式:实数x四舍五入为整数。

6、写出算术表达式:实数x小数点后第三位四舍五入。

7、定义char ch;已知ch为一大写字符,试写表达式将ch转换为小写字符。

8、请写出表达式:将整数n(0≤n≤9)转化为ASCII字符。

9、已知某个月的1日为星期六,该月有n天,试写出表达式计算该月所跨的周数(从星期日至星期六为一周,如n=30时为6周)。

三、求表达式的值

1、写出下列表达式的值

1)3

2、已知 int a = 5, b = 8;求表达式 ++a / 2 + b--的值。

3、已知 float x=3.763,y;计算 y=(int)(100*x+0.5)/100.0;的值。

4、计算表达式的值:(float)15/(int)2.5。

四、写结果

1、执行下面语句後,输出什么结果?

int x, y, z, w;x=y=z=-1;w=++x&&++y||++z;printf(“x=%d, y=%d, z=%d, w=%d”, x, y, z, w);

2、已知 int a=1,b=2,c=3,x;则执行x =(a+=2)&&(--b)&&(c=0);后计算x、a、b、c的值。

五、计算字符串长度

1、分别计算字符串的长度:“Computer”与“abc123mop”。

2、分别计算字符串的长度:“Shanghai”与“C: est.txt”。

3、执行下列语句,写出输出结果。(strlen()是一个求字符串长度的库函数)

printf(“%d”, strlen(“abc123mop”));

六、指针

1、定义char *pc[]={ “Shanghai”, “Beijing”, “Guangzhou” };写出语句片段:输出pc数组中的所有字符串,每字符串一行。

2、已知 int a[10],*p=a;计算表达式(&a[8]-&p[2])的值。

七、输入输出

1、已知有语句 scanf(“%d%d”,&a,&b);要使整型变量 a = 6, b = 8,运行时,屏幕上应输入:

A.a=6,b=8 B.a=6 b=8 C.6,8 D.6 82、已知变量 float x=1.2, y=-23.41;int z=345;要使输出为 x=1.20,y=-23.4,z=345,(中间无空格),则应使用语句 printf(“____”, x, y, z);

3、定义struct student {int num;char name[20];} stu[3];试用scanf写出语句: 输入下标i对应的num与name信息。

4、定义char *p[10];试用puts写出语句:输出数组中下标i对应的字符串。

5、定义int a[10];写出语句片段:输入a数组中的10个整数。

八、结构体

1. 已知有职工结构体数组:struct { int num;char name[20];} per[100];请使用scanf函数写出:输入下标为i的职工的num和name的语句。

2.写出一个结构体类型定义:结构体名为stuinfo,成员num为整型,成员score为实型。3.已知 struct fs { int fz;int fm;} x[]={{2,7}, {4,9}};计算表达式 x[0].fz*x[1].fm+x[1].fz*x[0].fm和x[0].fm*x[1].fm的值。

九、定义

1、有定义语句int *p(int a);说明其含义。

2、已知有函数定义:struct worker *findw(struct worker per[],int n);则关于函数返回值,请选出以下正确的描述。

A、返回值是一个结构体 B、返回值是一个结构体指针 C、返回值是一个整型数组 D、返回值是一个函数指针

3、(多选)以下变量命名中,哪些是合法的?

A.I B.long C.INT D.6K E.K6 F.xY_04、写出定义语句,定义一个双精度函数指针f指向sin函数。

5、试写出一个结构体定义:结构体名称为student,分量num为整型,分量name为字符数组,数组有10个元素。

6、试写一条函数说明语句:函数名为func,形式参数a为一维整型数组,返回类型为整型指针。

7、写出一个单链表结点的结构体类型定义:结点名为worker,分量num为整型,分量next为指向下一结点的指针。

十、其他

1、已知有如下形式的程序段:for(________)printf(“%d ”, i);执行后要输出 1 2 3 4,试写出完整的for短句。

2、请简要描述循环体中break 语句和 continue 语句的主要区别。

3、已知定义int a[]={10, 60, 30};写出语句a[0]+=a[1]-=a[2];运行后数组的值。阅读程序

一、条件选择

程序1 #include

main()

{

int m, n;

scanf(“%d%d”, &m, &n);

printf(“Result is:n”);

if(m%2==0)printf(“%d is evenn”, m);

else printf(“%d is oddn”, m);

if(n%2==0)printf(“%d is evenn”, n);

else printf(“%d is oddn”, n);

} 输入:8 9 输出: ? 程序2 main(){ int n;

scanf(“%d”, &n);

if(n >=0 && n

printf(“%d is 1-digitn”, n);

else if(n >=10 && n

printf(“%d is 2-digitn”, n);

else

printf(“%d is unknownn”, n);} 输入:80 输出:?

程序3 main(){ int m,n;

char op;

scanf(“%d%c%d”, &m, &op, &n);

switch(op)

{ case „+‟:

printf(“%d+%d=%dn”,m,n,m+n);

break;

case „*‟:

printf(“%d*%d=%dn”,m,n,m*n);

break;

} } 输入:15+8 输出:?

二、循环:

程序1 # include main(){

int i, s=0, n=0;for(i=1;i

n++;

s+=i;} printf(“n=%d, s=%dn”, n, s);} 输出:?

程序2 #include main(){ int n, i, j;scanf(“%d”, &n);

for(i = 0;i

printf(“ ”);

for(j = 0;j

printf(“*”);

printf(“n”);} } 输入:3 输出:?

程序3 main(){ int i, j, k;

for(i = 1;i

for(j = 1;j

for(k = 1;k

if((i!=j)&&(i!=k)&&(j!=k))

printf(“%d %d %dn”, i, j, k);} 输出:?

三、数组

程序1 main(){ int i, j, a[5]={10, 20, 30, 20, 10};for(i=0;i

程序2

main()

{

char a[10]=“ABCD”, b[10]=“12345678”;

int i, j=1;

for(i=3;b[i-1]!='';i++)

a[i]=b[i-1];

a[--i]='';

printf(“ Result [1] ”);

puts(a);

while(a[j++]!= '')

b[j]=a[j];

printf(“ Result [2] ”);

puts(b);

} 输出 ? 程序3 #include main(){

int i, j;for(i = 0;i

for(j = 0;j

printf(“%d ”,(i+j)%3 + 1);

printf(“n”);} } 输出: ?

四、函数

程序1

# include int gcd(int, int);main(){

int a, b;scanf(“%d, %d”, &a, &b);

printf(“a=%d, b=%d, gcd=%dn”, a, b, gcd(a,b));} int gcd(int x, int y){

int r;

r=x%y;

if(r==0)return y;

return gcd(y, r);} 输入: 15,9 输出:?程序2

double func4(double d, int n){ return(n ? d*func4(d, n-1): 1.0);} main(){ double x, w;int n;

x = 6.0;

w = func4(x, 4);

printf(“x= %lf ”, x);

printf(“w= %lfn”, w);} 输出?

程序3

#include void conv(int m){ if(m >= 2)

conv(m/2);printf(“%d”, m/2);} main(){ conv(13);} 输出:?

五、静态存储

程序1

# include void fun(void);void main(){

int i;for(i=0;i

static int i=10;i+=2;printf(“i=%d”, i);}

输出:?

程序2 #include Int vtest(int n){ static int x = 100;int y = 200;return n+(x++)+(y++);} main(){ printf(“%dn”, vtest(10));printf(“%dn”, vtest(20));} 输出 ?

六、预处理

程序1 #include ADD(x)x+x main(){

int m=1, n=2, k=3;

int sum = ADD(m+n)* k;

printf(“sum=%d”,sum);} 输出 ?

七、指针

程序1 #include main(){

int a[] = { 0,10,20,30 };int n=0, *p;p = a + 1;n += *(p++);n +=(*p)++;n += *(++p);n += ++(*p);printf(“n=%d,a[]=%d,%d,%d,%dn”, n,a[0],a[1],a[2],a[3]);} 输出 ? 程序 2 #include main(){

int a[]={10,11,12,13,14}, *p, n;p=&a[0];n=*(p++);n+=*(++p);n+=(*(p+=2))++;n-=(*(--p))--;n-=*(--p-1);printf(“n=%dn”,n);printf(“a[2]=%d,a[3]=%d,a[4]=%dn”,a[2],a[3],a[4]);} 输出:?

八、结构体

程序1 struct worker { int num;char name[20];};main(){ struct worker per[10], t;int n,i,j;scanf(“%d”, &n);for(i = 0;i 0){ t = per[j];per[j] = per[j+1];per[j+1] = t;} for(i = 0;i

程序改错

1、以下程序输入一行字符,判断其是否对称,是则输出Yes,否则输出No。

#include

#include

main()/*1*/ { char a[80];int n, i;/*2*/ gets(a[80]);/*3*/ n = strlen(a);/*4*/ for(i = 0;i

if(a[i]!= a[n-1-i])/*6*/

continue;/*7*/ if(i

printf(“Non”);/*9*/ else /*10*/ printf(“Yesn”);

}

2、以下程序输入10个数,输出其中只出现一次的数。

main(){ int a[10], i, j, k;/* 1*/ for(i = 0;i

if(a[i] == a[j])/* 8*/

k ++;/* 9*/ if(k == 1)/*10*/

printf(“%d ”, a[j]);/*11*/ } } 程序填空

1、以下程序输入一行字符,判断其是否对称,是则输出Yes,否则输出No。#include #include main(){ char a[80];int n, i;gets(a);n =(1);for(i = 0;i

if((2))

break;if((3))printf(“Non”);else printf(“Yesn”);}

2、本程序运行的结果, 输出 如右下 所示结果.#define N 8

main(){ int i, j, k;int a[N];for(i=0;i

a[ N-1] = _____(1)_______;8 1 2 3 4 5 6 7

for(j=0;j

printf(“ %2d ”, a[k]);6 7 8 1 2 3 4

____(3)_____;5 6 7 8 1 2 3

}4 5 6 7 8 1 2 }3 4 5 6 7 8 1 gosub(int a[], int n){ int t, i;

t=a[n];

for(i=n;i>0;i--)

____(4)______;

a[0]=t;}

《分类题.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
分类题
点击下载文档
相关专题 复习题分类 复习题分类
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文