当前位置: 首页 > news >正文

C_6练习题

一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)

  1. 下列叙述中正确的是()。

A.C语言程序将从源程序中第一个函数开始执行
B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D.main可作为用户标识符,用以命名任意一个函数作为主函数

  1. 下列合法的用户标识符是()。

A. float
B.-fx_1
C._4sum
D.ia%b

3,下列选项中不会引起二义性的宏定义是()。

A. #define POWER(x) xx
B. #define POWER(x) (x)
(x)
C. #define POWER(x)(xx)
D. #define POWER(x) ((x)
(x)

4,以下选项中不正确的整型常量是()

A. 12L
B.-10
C.012
D. 2,900

5.若变量x、y都是int型数,以下表达式中不能正确表示数学关系lx-yl<10的是( )。

A. abs(x-y)<10
B. x-y>-10 && x-y<10
C. (x-y)<-1011!(y-x)>10
D. (x-y)*(x-y)<100

6,逻辑运算符两侧运算对象的数据类型()

A.只能是0或者1。
B.只能是0或者非0正数
C.只能是整型或者字符型数据
D.可以是任何类型的数据

7.若有定义int x=3,y=2和floata=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是()。

A.0
B.2
C. 1.5
D.1

8.设x、y均为float型变量,则以下不合法的赋值语句是()

A. y=1+x;。
B. y=(x%2)/10;
C. x*=y+8;
D. x=y=0;

9.设字符型变量x的值是064,表达式~x"x<<2&x的值是()。

A.0333
B.333
C. 0x333
D.020

10.若x是double型变量,n是int型变量,执行以下语句(),并输入3 1.25后,x的值是1.25,n的值是3

A. scanf(“%d%r, &n, &x);
B. scanf(”%lf%d", &o, &n);
C. scanf(“%1%d”, &n,
D. scanf(“%d, %lf”, &n, &x);

11.以下if-else语句语法正确的是()。

A. if(x>0) printf(“%f”,x) else printf(“%f”,-x);
B. if(x>0) {x=x+y;printf(“%f”,x);} else printf(“%f”,-x);
C. if(x>0) {x=x+yprintf(“%f”,x)😉; else printf(“%f”,-x);
D. if(x>0) (x=x+y;printf(“%f”,x)} else printf(“%f”,😆;

  1. 以下()for语句是不能编译的。

A. for(i=0; i<10, j<10; i++);
B. for(i=0; j=0; i<10; i++);
C. for(i=0; i<10; i–);D. for(i=0; j<10; j++);

  1. 以下程序的运行结果是()
#include<stdio.h>int main(){int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;for(i=1;i<3;i++)s=s+a[b[i]];printf("%d\n",s);return 0;}

A.5
B. 10
C. 11
D. 15

14.有说明语句int a[4][5];,则a[2]+3表示()。

A.a数组行下标为2、列下标为3的元素的地址
B.a数组行下标为2、列下标为3的元素的值
C. a 数组第2行的首地址
D. a数组第3行的首地址

15,不能把字符串Hello!赋给数组b的语句是()。

A. char b[10]=(‘H’,‘e’,‘l’,‘l’,‘o’,‘!’);
B. char b[10];b="Hello! ";
C.char b[10];strcpy(b,“Hello!”).
D. char b[10]=“Hello!”;

  1. 下列程序的输出结果是()
void fun (int a, int b, int c)
{a=456; b=567; c=678; } 
int main()
{ int x=10, y=20,z=30; 
fun (x, y, z);
printf("%d,%d,%d\n", x, y, z);
return 0;
}

A. 30,20,10
B. 10,20,30
C.456,567,678
D.678,567,456

  1. 有以下函数定义:
    void fun(int n, double x) {…}
    若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()。

A. fun(int y,double m);
B. k=fun(10,12.5);
C. fun(x, n);
D. void fun(n,x);

  1. 若定义pf为指向float类型变量f的指针,下列语句中()是正确的。

A. float f, *pf = f;
B. float f, *pf=&f;
C. float *pf = &f, f;
D. float f, *pf=0.0;

19,设有如下定义,下面各输入语句中错误的是

struct ss
{char name[10];int	age;char sex;} std[3],*p=std;

A. scanf(“%d”,&(*p).age);
B. scanf(“%d”,p->&age);
C.scanf(“%c”,&std[0].sex);
D. scanf(“%c”,&(p->sex));

  1. 下面程序的运行结果是
    #include<stdio.h>
    int main(){
    int *a, b=3;
    *a=b;
    printf(“%d”,*s);
    }

A.0
B.3B
C.不确定
D.程序无法正常运行。

二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结构填写在答题纸的相应位置上。

1_______

#include <stdio.h> 
void main()
{char c= 'b'; int k= 4;switch(c){ case 'a':k=k+1;break;case 'b': k=k +2; case 'c': k=k+3;} printf("%d\n",k);
}

2_______

#include <stdio.h>
int F(int x){int p= 1;p*=x;return p;
}int G(int x){static int p = 1;p*=x;return p;}void main(){int a, b, c, d;a=F(2);b=F(3);c=G(2);d=G(3);printf("%d%d%d%d\n", a, b, c, d);}

3________

#include<stdio.h>
int x=10;
void main()
{int y=20;printf("x=%d,y=%d\n",x,y);{int x=30; y=y+x;printf("x=%d,y=%d\n",x,y);}printf("x=%d,y=%d\n",x,y);
}

4________

#include <stdio.h> 
int fun()
{auto int x=1;static int y=1;x+=3;y+=3;return x+y;
}void main(){int a,b;a=fun();b=fun();printf("%d,%d\n",a,b);}

5_______

#include <stdio.h>
#include <string.h>
struct student
{int num; char name[20]; float score[3];};int main(){void print(struct student);struct student stu;stu.num=12345; strcpy(stu.name,"LiLin");stu.score[0]=67.5; stu.score[1]=89; stu.score[2]=78.6;print(stu);printf("%sln",stu.name);}void print(struct student stu){printf("%d\n%s\n",stu.num,stu.name);printf("%f\n%f\n%f\n",stu.score[0],stu.score[1],stu.score[2]);strcpy(stu.name, "chen");}

三、程序填空题(每空5分,共35分。请将答案填写在答题纸的相应位置上。)1,输入一个正整数,判断其是否为素数。

#include <stdio.h>
#include <math.h> 
int main(){int = m,i,is_prime, limit;scanf ("%d", &m); if ( m == 1) {is_prime = 0;}else if (m == 2) {__________;}else if (m % 2 == 0) {is_prime = 0;}else{_________;}limit=sqrt(m)+1;for(i=3;i<=limit,i+=2){if(m % i == 0}{________;________;}
}if(______){( printf("Yes\n"); }else{printf("Noln");}}

2.下面invert函数的功能是将一个字符串str的内容颠倒过来。请填空。

void invert(char str)
{int i,j, k;for(i=0,j=________.i<j;i++________){k=str[i];str{i]=str[j];str[j]=k;}}

四、编程题(本大题共3小题,每小题15分,共45分。请在答题纸的相应位置上作答。)

1.编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。且保证除法和求余的分母非零。
当运算符为+、-、* 、/ 、%时,输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。

2.求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),a和几个数相加由键盘输入。

3.编写函数void swap(int *a,int *b),(该函数功能是实现变量交换),主函数实现对输入的n个整数数据进行升序排序。

http://www.lryc.cn/news/230238.html

相关文章:

  • XUbuntu22.04之安装pkg-config(一百九十二)
  • 【Proteus仿真】【51单片机】拔河游戏设计
  • 第3关:集合操作100
  • 八:ffmpeg命令提取像素格式和PCM数据
  • rinex3.04 导航文件
  • linux rsyslog日志采集格式设定二
  • 八股文-面向对象的理解
  • LeetCode【238】除自身意外的数组的乘积
  • c语言从入门到实战——基于指针的数组与指针数组
  • AUTOSAR汽车电子嵌入式编程精讲300篇-面向车载CAN网络的路由和ECU刷写方法
  • 软考 系统架构设计师系列知识点之云计算(3)
  • 【万字长文】Python 日志记录器logging 百科全书 之 日志过滤
  • redis基线检查
  • 第五章ARM处理器的嵌入式硬件系统设计——课后习题
  • Python - GFPGAN + MoviePy 提高人物视频画质
  • uniapp插件开发
  • 11 Go的作用域
  • RabbitMQ之消息应答和持久化
  • 【分享】Excel“只读方式”的两种模式
  • 华为与美团达成合作,正式启动鸿蒙原生应用开发。
  • The 8th China Open Source Conference Successfully Concludes
  • 【星海出品】SDN neutron (四) 流分析
  • 数据分析法宝,一个 SQL 语句查询多个异构数据源
  • 解决:element ui表格表头自定义输入框单元格el-input不能输入问题
  • Android 透明度设置
  • python语言的由来与发展历程
  • electronjs入门-编辑器应用程序
  • Xilinx Kintex7中端FPGA解码MIPI视频,基于MIPI CSI-2 RX Subsystem架构实现,提供工程源码和技术支持
  • SIMCSE求相似度分数
  • java入门,从CK到一部分数据到mysql