牛客错题4 1、实型(浮点)的概念下列数据中,不合法的 C 语言实型数据的是()。解析:实型数据也称为浮点数或实数。在C语言中,实数只采用十进制。它有二种形式:十进制小数形式和指数形式。实数的表示十进制数形式 由数码0~ 9和小数点组成。 例如:0.0、25.0、5.789、0.13、5.0、300.、-267.8230等均为合法的实数。注意,必须有小数点。指数形式 由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为:a E n(a为十进制数,n为十进制
牛客错题3 1、(函数递归)下面程序输出结果是:12int foo(int x, int y){if(x <=0 || y <=0 ){return 1;}if ( y%2 == 0) {return 2*foo( x-3, y/3 );}else{return 3*foo( x-2, y/2 );}}printf("%d", foo(9, 12));解析: 2foo(6,4)->12 foo(6,4)=2foo(3,1)=6 foo(3,1)=3*foo(1,0)
函数的递归 1、递归的定义及作用逻辑示例#include <stdio.h>//函数递归long long factorial(int n); long long fabonacci(int n);int main(){ printf("6!=%lld",factorial(6)); printf("fabonacci(6)=%lld",fabonacci(6)); return 0; } //阶乘long long factorial(int n).
牛客错题2 1sizeof 内存对齐问题若int 占 2 个字节, char 占 1 个字节, float 占 4 个字节, sizeof(xc) 大小是:struct stu { union{ char bj[5]; int bh[2]; } _class; char xm[8]; float cj;}xc;解析:结构体内存对齐规定:结构体的总大小为结构体最宽基本类型成员大小的整数倍,这道题目中最宽的是float,其占4个字节,但是此题
变量的作用域及猜数字游戏(利用循环完成) 2、猜数字游戏#include <stdio.h>#include <stdlib.h>#include <time.h>/*猜数字游戏*/int main(){ srand(time(NULL)); int target=rand() %100 +1; /*因为 int target=rand()取得的数比较大, 对它取余缩小数字范围(例如5%3=2, 可见得到的数字小于取余的数,这里就需要+1*/ int n; while...
goto语句 代码示例1、goto语句的滥用#include <stdio.h> //goto语句int main(){ //goto语句的滥用 int n = 10;change: //标签 printf("n=%d ",--n); //如果n>0,则执行goto语句,跳到change if (n > 0) { goto change; } return 0; } 2...
循环练习题 1、空循环int y=10;while (y--) ;printf(“y=%d”, y);这里while (y–) ;处有分号,为空循环,直到y=0,退出循环,但还要再执行一次y-1,即y=-12、逻辑运算int a=-2, b=0;while (a++ && ++b) ;printf(“%d, %d”, a, b);1: a=-2,b=0-> a=-1 ,b=1 2: a=-1 ,b=1->a=0, b=2 3:a=0, b=2结果a=0了,whi
牛客错题1 1、下列哪种方式可以完成float a与0的比较: fabs(a) < 0.00001f解析:float类型和0比较大小:if(x<0.00001 && x>-0.00001)fabs(a):a的绝对值< 小于号2、递归算法:以下代码int x (int n) { //这里X是一个函数!!!! if (n <= 3) return 1; else return x (n - 2) +
执行printf( “ %5s ” , “abcdefg ” ) 后,则输出结果为 执行printf( “ %5s ” , “abcdefg ” ) 后,则输出结果为abcdefg解析:"%5s",表示输出至少5个字符,不够的话,左侧用空格补。%.5s,最多输出5个字符
strlen跟sizrof所占空间大小的区别 1、例题表达式strlen(“std007\1\”)的值是9表达式sizeof(“std007\1\”)的值是10解析:答案为9,,\,\1都是代表一个字符,并且strlen()不计算字符串结尾符\0,sizeof()计算占用地址空间大小会算入在内...
break关键字跟continue关键字 1、break关键字代码演示#include <stdio.h>//break 关键字int main(){ //输入一个大于1的整数,判断是否为质数 int n; printf("请输入一个大于1的整数!"); scanf("%d",&n); if (n <= 1) { printf("请输入一个大于1的整数!"); } else { bool b=1;//是否为质数 for(int i=2; i&
循环结构(for、while、do while) 1、循环的三要素勿忘写迭代语句循环返回布尔值,即成立与不成立2、while循环这里[迭代语句]表示可以放到循环体的任意地方,一般放在最后代码演示#include <stdio.h>//while语句//实现输入一个整数,判断它是几位数 int main(){ int num; printf("请输入一个整数"); scanf("%d",&num); int len=0; //定义整数长度 while (num) { len
if语句与switch语句错题整理 1、int a=1, b=0;if (!a) b++;else if (a==0)if (a) b+=2;else b+=3;printf(“%d”, b);A:因为a=1,则if(!a)不成立,不执行b++B:因为a=1,则 else if(a==0)不成立,不执行后面的if(a),即不会执行b+=2或b+=3C:b=02、int a=1, b=2, c=3, d=0;if (a==1 && b++==2)if (b!=2 || c--!=3)prin
switch语句及switch语句与if语句的比较 1、if语句返回布尔值,switch语句返回整数2、switch语句用法3、代码实现#include <stdio.h>//switch语句 int main(){ int month; printf("请输入要查询的月份"); scanf("%d",&month); switch (month) { /* case 1 : printf("你所查询的月份是第一季度!"); break; case 2 : print
流程控制(1、顺序结构2、分支结构(if语句、switch语句)、3、循环结构(while、do while、for)之if语句 1、if语句(1)第一种形式 if (表达式) {…}#include <stdio.h>//if语句 int main(){ // 第一种形式 if (表达式) {...} int age; printf("请输入你的年龄"); scanf("%d",&age); if (age <= 18) { printf("未成年"); } return 0; } (2)第二种形式 if (表达式) {…} else {…}