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

华清远见25072班C++学习假期10.4作业

分支、循环练习

  1. 选择题

1.1、以下程序的输出结果是___A_____

main()

{

int k1=1,k2=2,k3=3,x=15;

if(!k1) x--;

else if(k2)

if(k3) x=4;

else x=3;

printf(“x=%d\n”,x);

}

A x=4 B x=15 C x=14 D x=3

1.2有以下程序while循环执行___A_____次。

int main()

{

int k=2;

while(k=1)

printf(“%d”,k);

k--;

printf(“\n”);

}

  A) 无限次 B) 2 C) 1 D) 0

1.3有以下程序int main(){   int  a=1,b;   for(b=1;b<=10;b++)   {      if(a>=8)   break;      if(a%2==1)  {  a+=5;  continue;}       a-=3;    }   printf("%d\n",b);}程序运行后的输出结果是 B

A)3 B)4 C)5 D)6

1.4、有以下程序

#include <sthio.h>

int main()

{

int s=0,n;

for (n=0;n<3;n++) 0 1 2

{

switch(s)

{ case 0:

case 1:s+=1;

case 2:s+=2;break;

case 3:s+3;

case 4:s+=4;

}

printf((%d\n,s);

}

}

程序运行后的结果是C

A)1,2,4 B) 3,10,10 C) 3,6,10 D) 3, 7, 7

1.5、有以下程序

#include<stdio.h>

int main()

{int a=1b=0;

if(-a) b++;

else if(a=0)b+=2; else b+=3;

printf("%d\n"b)

)

程序运行后的输出结果(B)

A)0 B)1 C)2 D)3

1.6有以下程序

#include<stdio.h>

int main()

{

int a=7

while(a--)

printf("d\n"a)

}

程序运行后的输出结果(A )

A)-1 B)0 C)1 D)7

1.7

  1. 填空题

2.1、以下程序运行结果是 2

#include<stdio.h>

int main()

{

int x=2,y=-1,z=2;

if(x<y)

if(y<0) z=0;

else z+=1;

printf("%d\n",z);

}

2.2以下程序的执行结果是 20

#include<stdio.h>

int main()

{

int a,b,c,d,x;

a=c=0;

b=1;

d=19;

if(a) d=d-10;

if(!c)

x=15;

else

x=25;

d++ ;

printf("d=%d\n",d);

}

2.3以下程序的执行结果是( first

third )

#include<stdio.h>

int main()

{

int x=1,y=0;

switch(x)

{

case 1:

switch(y)

{

case 0:printf("first\n");break;

case 1:printf("second\n");break;

}

case 2:printf("third\n");

}

}

    1. 以下程序在输入5,2之后的执行结果是(s=2,t=3 )。

#include<stdio.h>

int main()

{

int s,t,a,b;

scanf("%d,%d",&a,&b);

s=1;

t=1;

if(a>0) s=s+1;

if(a>b) t=s+t;

else if(a==b)

t=5;

else

t=2*s;

printf("s=%d,t=%d\n",s,t);

}

    1. 以下程序的执行结果是( #& )。

#include<stdio.h>

int main()

{

int a=2,b=7,c=5;

switch(a>0)

{

case 1:

switch(b<0)

{

case 1:printf("@");break;

case 2:printf("!");break;

}

case 0:

switch(c==5)

{

case 0:printf("*");break;

case 1:printf("#");break;

case 2:printf("$");break;

}

default:printf("&");

}

printf("\n");

}

    1. 以下程序运行结果是 551

#include <stdio.h>

int main()

{

int x,y=1;

if(y!=0) x=5;

printf("\t%d\n" ,x);

if(y==0) x=4;

else x=5;

printf("\t%d\n" ,x);

x=1;

if(y<0)

if(y>0) x=4;

else x=5;

printf("\t%d\n" ,x);

}

2.7 以下程序的运行结果是

( 4 -2

4 0

4 -2 )

#include<stdio.h>

int main()

{

int x , y=-2, z=0;

if ((z=y)<0) x=4;

else if (y==0)

x=5;

else

x=6;

printf("\t%d\t%d\n" ,x, z);

if(z=(y==0))

x=5;

x=4;

printf("\t%d\t%d\n" ,x,z);

if(x=z=y) x=4;

printf("\t%d\t%d\n" ,x,z);

}

  1. 编程题、
    1. 编写程序实现:服装店营套服,也单件出售,若买的不少于50套,每套80元;不足50套的每套90元;只买上衣每件60元;只买裤子每条45元。输入所买上衣c和裤子t的件数,计算应付款m。

#include <iostream>
using namespace std;
int main()
{int shirt, trousers;  // 上衣和裤子数量(非负整数)// 输入购买数量cout << "请输入上衣数量和裤子数量(用空格分隔):";cin >> shirt >> trousers;// 计算套服数量(取较小值)int suits = (shirt < trousers) ? shirt : trousers;// 单卖的上衣和裤子数量int single_shirt = shirt - suits;int single_trousers = trousers - suits;// 计算总费用(int类型,无小数)int total = 0;const int suit_price_50 = 80;   // 50套及以上单价const int suit_price_less = 90; // 不足50套单价const int shirt_price = 60;     // 单买上衣单价const int trousers_price = 45;  // 单买裤子单价// 套服费用if (suits >= 50){total += suits * suit_price_50;} else{total += suits * suit_price_less;}// 单卖商品费用total += single_shirt * shirt_price;total += single_trousers * trousers_price;// 输出结果cout << "应付款金额:" << total << "元" << endl;return 0;
}
  1. 思考题

4.1 下面是C语言中两种if语句判断方式。请问哪种写法更好?为什么?  int n;  if (n == 10) // 第一种判断方式  if (10 == n) // 第二种判断方式

答:第二种,如果误写成if (10 = n)编译器会报错(常量不能被赋值);而第一种if (n = 10)会被编译器当作合法赋值。

4.2 思考一下,计算1+2+3+……+100的和,最优化的算法是? 编程实现

答:利用等差数列求和公式 sum = n*(n+1)/2,时间复杂度O(1)

#include <iostream>using namespace std;int main()
{int num = 100;int sum = num*(num+1)/2;cout << "sum=" << sum << endl;return 0;
}

4.3 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?

答:1、while(1) { ... };2、for(;;) { ... };3、do { ... } while(1);;


牛客网:

http://www.dtcms.com/a/441812.html

相关文章:

  • 建网站学什么软件全国医院的网站建设
  • 【深度学习计算机视觉】09:语义分割和数据集——应用场景与前沿探索
  • 【LeetCode热题100】No.1——两数之和(Java)
  • 系分论文《论边缘计算在工业质检系统中的分析与设计》
  • 利用 ArcMap 的 MXD 布局视图以及ArcPy 脚本实现批量自动生成油井点之记并导出 PDF(实操+亲测)
  • 计算机工作原理(简单介绍)
  • 自己如何建设网站聊天室做医药代表去什么招聘网站
  • 指针和数组解析
  • 【AI4S】3DSMILES-GPT:基于词元化语言模型的3D分子生成
  • Transformer推理优化全景:从模型架构到硬件底层的深度解析
  • MySQL 索引全解析:结构、优化与索引下推实战指南​
  • clear configuration interface概念及题目
  • 设计模式(C++)详解——策略模式(1)
  • 基于html5设计的网站建设做一些购物网站
  • Vivado综合通关指南:从IP打包失败到工具崩溃的四重考验
  • 语义分割概述
  • 数据结构之排序算法
  • 绍兴网站建设优化手机企业网站建设开发
  • 偏导数解释
  • Linux内核与设备管理:USB存储驱动usb_storage/uas的安全卸载与复原
  • fallocate: fallocate failed: Text file busy
  • visio实现扇形图绘制的方式方法-以三等分扇形为例
  • 以太坊私有链搭建与智能合约部署指南
  • 网站开发 教学大纲网页设计图片与图片的位置
  • python+flask_socketio+pyautogui实现简易远程桌面功能
  • flask_socketio+pyautogui实现的具有加密传输功能的极简远程桌面
  • 深入了解linux网络—— TCP网络通信(上)
  • Android Jetpack 核心组件实战:ViewModel + LiveData + DataBinding 详解
  • 商务厅网站建设意见怎么做网站注册推广
  • Fragment 崩溃恢复后出现重叠问题的复现方式