网站建站华为云,建设部网站 注册违规,丰台网站建设报价,手机商城怎么下载大家好#xff0c;我是纪宁。 今天是C语言笔试刷题训练的第11天#xff0c;加油#xff01; 文章目录 1、声明以下变量#xff0c;则表达式: ch/i (f*d – i) 的结果类型为#xff08; #xff09;2、关于代码的说法正确的是#xff08; #xff09;3、已知有如下各变…大家好我是纪宁。 今天是C语言笔试刷题训练的第11天加油 文章目录 1、声明以下变量则表达式: ch/i (f*d – i) 的结果类型为 2、关于代码的说法正确的是 3、已知有如下各变量的类型说明则以下不符合C语言语法的表达式是 4、下面函数的输出结果是 5、如下代码的输出结果是 最大连续 1 的个数完全数计算完数 1、声明以下变量则表达式: ch/i (f*d – i) 的结果类型为
char ch;
int i;
float f;
double d;A: char B: int C: float D: double 基本数据类型的等级从低到高如下char int long float double运算的时候是从低转到高的表达式的类型会自动提升或者转 换为参与表达式求值的最上级类型所以选D
2、关于代码的说法正确的是
#include stdio.h
int main()
{int x -1;unsigned int y 2;if (x y){printf(x is greater);}else{printf(y is greater);}return 0;
}A: x is greater B: y is greater C: 依赖实现 D: 随机 x是有符号数-1内存中是全1当有符号的x和无符号数进行比较时x会隐式类型转换被当做无符号数是一个很大的数 这时就选择A了
3、已知有如下各变量的类型说明则以下不符合C语言语法的表达式是
int k, a, b;
unsigned int w 5;
double x 1.42;A: x%3 B: w-20 C: k(a200,b300) D: aa-a9 取余操作两边必须是整数所以选A
4、下面函数的输出结果是
void func()
{
int k 1^(1 31 31);printf(%d\n, k);
}A: 0 B: -1 C: -2 D: 1 (1 31 );左移31位并在右侧填充0得到0x80000000即符号位为1其他为0即-2147483648 int k 1^(1 31 31);注意这里在右移的时候符号位保持为1右移后填充1结果为0xFFFFFFFF即-1 0x00000001^0xFFFFFFFF即0xFFFFFFFE(-2)所以选D
5、如下代码的输出结果是
#include stdio.h
int main()
{int i 1;sizeof(i);printf(%d\n, i);return 0;
}A: 1 B: 4 C: 2 D: 8 一般表达式的运算是在运行时执行的而sizeof是一个编译阶段就执行的运算符在其内的任何运算都不执行只推测出其中 表达式结果的类型求其大小故前后i的值不变所以选A
最大连续 1 的个数
给定一个二进制数组 nums 计算其中最大连续 1 的个数。
int findMaxConsecutiveOnes(int* nums, int numsSize){int max0,count0;maxcount;int*pnums;while(numsSize--){if(*p1){count;p;}else if(*p0){count0;p;}if(countmax)maxcount;}return max;
}这道题思路比较简单统计连续1的个数遇到0时表示连续中断判断如果当前的统计数大于之前最大的则替换然后继续下一个位置开始的统计即可。要注意最后一个数组元素的判断很容易会将最后一个数组元素略过。
完全数计算完数
完全数Perfect number又称完美数或完备数是一些特殊的自然数。 它所有的真因子即除了自身以外的约数的和即因子函数恰好等于它本身。 例如28它有约数1、2、4、7、14、28除去它本身28外其余5个数相加12471428。 输入n请输出n以内(含n)完全数的个数。 输入描述输入一个数字n 输出描述输出不超过n的完全数的个数 #includemath.h
#include stdio.h
int main(){int n 0, count 0, ret 1;scanf(%d, n);do{for (int i 2; i sqrt(n); i){if (n % i 0){ret i;if(i!n/i)ret n / i;}}if (ret n)count;ret 1;} while (--n);printf(%d, count-1);
}这道题的关键在于完全数的判断完全数指的是一个数字的所有约数的和和自身相等。我们只需要从 1 开始将这个数的约数相加求和即可。 约数就是能够被数字整除而这里简化的一个思路是数字能够被整除则除数和结果就都是约数这种思路下只需要从1计算到平方根即可。 比如数字 8 能够整除 2 结果是 4 则除数 2 和结果 4 都是约数而这两个只需要一次计算判断即可。需要注意的是 4925… 这种除数和结果相同的情况则除数或者结果只相加一次就够了。 而这段代码其实是将1也算进去了所以最后总数减1。