当前位置:文档之家› c语言减少程序运行时间

c语言减少程序运行时间

c语言减少程序运行时间
c语言减少程序运行时间

(1)、求余运算。

如:a=a%8;可以改为:a=a&7;

说明:位操作只需一个指令周期即可完成,而大部分的C编译器的"%"运算均是调用子程序来完成,代码长、执行速度慢。通常,只要求是求2n方的余数,均可使用位操作的方法来代替。

(2)、平方运算

如:a=pow(a,2.0);可以改为:a=a*a;

说明:在有内置硬件乘法器的单片机中(如51系列),乘法运算比求平方运算快得多,因为浮点数的求平方是通过调用子程序来实现的,在自带硬件乘法器的AVR单片机中,如ATMega163中,乘法运算只需2个时钟周期就可以完成。既使是在没有内置硬件乘法器的AVR单片机中,乘法运算的子程序比平方运算的子程序代码短,执行速度快。

如果是求3次方,如:a=pow(a,3.0);更改为:a=a*a*a;

则效率的改善更明显。

(3)、用移位实现乘除法运算

如:a=a*4;b=b/4;可以改为:a=a《2;b=b》2;

说明:通常如果需要乘以或除以2n,都可以用移位的方法代替。在ICCAVR中,如果乘以2n,都可以生成左移的代码,而乘以其它的整数或除以任何数,均调用乘除法子程序。用移位的方法得到代码比调用乘除法子程序生成的代码效率高。实际上,只要是乘以或除以一个整数,均可以用移位的方法得到结果,如:a=a*9可以改为:a=(a《3)+a

6、循环

(1)、循环语

对于一些不需要循环变量参加运算的任务可以把它们放到循环外面,这里的任务包括表达式、函数的调用、指针运算、数组访问等,应该将没有必要执行多次的操作全部集合在一起,放到一个init的初始化程序中进行。

(2)、延时函数:

通常使用的延时函数均采用自加的形式:

两个函数的延时效果相似,但几乎所有的C编译对后一种函数生成的代码均比前一种代码少1~3个字节,因为几乎所有的MCU均有为0转移的指令,采用后一种方式能够生成这类

指令。在使用while循环时也一样,使用自减指令控制循环会比使用自加指令控制循环生成的代码更少1~3个字母。但是在循环中有通过循环变量"i"读写数组的指令时,使用预减循环时有可能使数组超界,要引起注意。

(3)while循环和do…while循环

用while循环时有以下两种循环形式:

在这两种循环中,使用do…while循环编译后生成的代码的长度短于while循环。

7、其它

比如使用在线汇编及将字符串和一些常量保存在程序存储器中,均有利于优化。

C语言程序设计教程第一章练习题题目

单选题 1、下列语言中不属于计算机语言的三大类的是(C )。 A.机器语言 B.汇编语言 C.脚本语言 D.高级语言 2、下列说法中不正确的是(C ) A.计算机语言大致可分为三大类,即机器语言、汇编语言和高级语言 语言是一种通用的、过程式的编程语言,具有高效、灵活、可移植等优点 语言属于汇编语言 D.高级语言比汇编语言更贴近于人类使用的语言,易于理解、记忆和使用 3、以下开发工具中不属于主流的开发工具的是(B ) Studio ::Block 4、下列选项是对主流开发工具的介绍,其中错误的是(B ) Studio支持C/C++、C#、F#、VB等多种程序语言的开发和测试 ::Block是一个免费的跨平台IDE,支持C、C++和Fortan程序的开发 是一种被广泛使用的免费跨平台IDE,最初由IBM公司开发 是一款功能非常强大的IDE ( 和其他IDE不同的是,Vim本身并不是一个用于开发计算机程序的IDE,而是一款功能非常强大的文本编辑器,它是UNIX系统上Vi编辑器的升级版。) 5、下列选项中,不属于开发一个C语言应用程序的具体实现步骤的是(A ) A.启动开发工具 B.添加源文件 C.编写代码 D.运行程序 6、下列选项中,关于main()函数叙述不正确的是(C ) A.一个完整的C语言程序中,有且只能有一个main()函数 ()函数是程序的主入口,程序总是从main()函数开始执行 C.如果没有声明main()函数,程序将从第1行开始执行 ()函数可以有返回值,也可以没有返回值 7、下面程序中,合法的选项是(D ) A.#include int main() { printf("hello world\n"); return 0; } B.#include int man() { printf("hello world\n"); return 0; } C.#include int main() { printf("hello world\n") return 0; } D.#include int main() { print("hello world\n"); return 0; } 8、下面程序中,运行结果为“1,2”的是(A ) A.#include int main() { int a = 1; int b = 2; printf("%d %d\n",a,b); return 0; } B.#include int main() { int a = 1; int b = 2; printf("%d,"a); printf("%d\n",b); return 0; } C.#include int main() { int a = 1, b = 2; printf("%d,,%d\n",a,b); return 0; }

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

Matlab中计算程序运行时间的三种方法

Matlab中计算程序运行时间的三种方法 经常我们需要计算我们程序到底运行多长时间,这样可以比较程序的执行效率。当然这个对于只有几秒钟的小程序没有什么意义,但是对于大程序就有很重要的意义了。 下面我们就说说Matlab中计算程序运行时间的三种常用方法吧! 注意:三种方法由于使用原理不一样,得到结果可能有一定的差距! 1、tic和toc组合(使用最多的) 计算tic和toc之间那段程序之间的运行时间,它的经典格式为 1. tic 2. 。。。。。。。。。。 3. toc 复制代码 换句话说程序,程序遇到tic时Matlab自动开始计时,运行到toc时自动计算此时与最近一次tic之间的时间。这个有点拗口,下面我们举个例子说明 1. % by dynamic of Matlab技术论坛 2. % see also https://www.doczj.com/doc/f96491282.html, 3. % contact me matlabsky@https://www.doczj.com/doc/f96491282.html, 4. % 2009-08-18 12:08:47 5. clc 6. tic;%tic1 7. t1=clock; 8. for i=1:3 9. tic ;%tic2 10. t2=clock; 11. pause(3*rand) 12. %计算到上一次遇到tic的时间,换句话说就是每次循环的时间 13. disp(['toc计算第',num2str(i),'次循环运行时间:',num2str(toc)]); 14. %计算每次循环的时间 15. disp(['etime计算第',num2str(i),'次循环运行时间:',num2str(etime(clock,t2))]); 16. %计算程序总共的运行时间 17. disp(['etime计算程序从开始到现在运行的时间:',num2str(etime(clock,t1))]); 18. disp('======================================') 19. end 20. %计算此时到tic2的时间,由于最后一次遇到tic是在for循环的i=3时,所以计算 的是最后一次循环的时间 21. disp(['toc计算最后一次循环运行时间',num2str(toc)]) 22. disp(['etime程序总运行时间:',num2str(etime(clock,t1))]); 复制代码 运行结果如下,大家可以自己分析下 1. toc计算第1次循环运行时间: 2.5628 2. etime计算第1次循环运行时间:2.562

(完整版)C语言程序设计教程第五章练习题题目

单选题 1、关于数组的定义与初始化,下列哪一项是错误的() A.int arr[5] = {1,2,3,4,5}; B.int arr[] = {1,2,3,4,5}; C.int arr[5] = {1,2,3}; D.int arr[5] = {1,2,3,4,5,6}; 2、在定义数组int arr[10]后,下列选项中对arr的引用正确的是() A.arr[10] B.arr[6.3] C.arr(6) D.arr[0] 3、在C语言中,引用数组元素时,其数组下标的数据类型允许是() A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型的表达式 4、若int arr[5] = {1,2,3}; 则arr[2]的值为() A.1 B.2 C.3 D.null 5、在执行int arr[][3] = {1,2,3,4,5,6}:语句后,arr[1][0]的值为() A.4 B.1 C.2 D.5 6、关于二维数组,下列选项能正确定义并赋初值的是() A.int n = 5,b[n][n]; B.int a[1][2] = {{1},{3}}; C.int c[2][] = {{1,2},{3,4}}; D.int a[3][2] = {{1,2},{3,4}}; 7、阅读下列程序段: char s[18] = "a book!"; printf("%.4s\n", s); 其输出结果为() A.a book! B.a book C.a bo D.a 8、阅读下列程序: int a[4][4] = { { 1, 3, 5, }, { 2, 4, 6 }, { 3, 5, 7 } }; printf("%d%d%d%d\n", a[0][0], a[1][1], a[2][2], a[3][3]);

单片机C延时时间怎样计算

C程序中可使用不同类型的变量来进行延时设计。经实验测试,使用unsigned char类型具有比unsigned int更优化的代码,在使用时 应该使用unsigned char作为延时变量。以某晶振为12MHz的单片 机为例,晶振为12M H z即一个机器周期为1u s。一. 500ms延时子程序 程序: void delay500ms(void) { unsigned char i,j,k; for(i=15;i>0;i--) for(j=202;j>0;j--) for(k=81;k>0;k--); } 计算分析: 程序共有三层循环 一层循环n:R5*2 = 81*2 = 162us DJNZ 2us 二层循环m:R6*(n+3) = 202*165 = 33330us DJNZ 2us + R5赋值 1us = 3us 三层循环: R7*(m+3) = 15*33333 = 499995us DJNZ 2us + R6赋值 1us = 3us

循环外: 5us 子程序调用 2us + 子程序返回2us + R7赋值 1us = 5us 延时总时间 = 三层循环 + 循环外 = 499995+5 = 500000us =500ms 计算公式:延时时间=[(2*R5+3)*R6+3]*R7+5 二. 200ms延时子程序 程序: void delay200ms(void) { unsigned char i,j,k; for(i=5;i>0;i--) for(j=132;j>0;j--) for(k=150;k>0;k--); } 三. 10ms延时子程序 程序: void delay10ms(void) { unsigned char i,j,k; for(i=5;i>0;i--) for(j=4;j>0;j--) for(k=248;k>0;k--);

C语言程序设计考试题库

一、判断题 1、所谓常量,就是在程序运行过程中其值可以改变的量。() 2、一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。() 3、在C语言中do-while 语句和for循环均是先执行循环体语句,再判断表达式。() 4、在函数调用中将变量的地址作为实参传递给对应形参时,实现的是单向的值传递。() 5、C语言中所有字符串都是以‘\0’结束的。() 6、do-while构成的循环语句中的循环体最少执行1次。() 7、数组名在C语言中表示的是数组的首地址。() 8、使用gets()函数输入字符串时可以在字符串中输入空格。() 9、算术运算符中‘/’的优先级高于‘%’。() 10、char a[5];该语句表明数组a中的第五个元素为a[5]。() 11、C语言源程序文件的扩展名均为.c。() 12、char a[5];数组a中有a[1]、a[2]、a[3]、a[4]、a[5]共5个元素。() 13、C语言程序区分大小写,字符常量必须定义为大写。() 14、若int i=10,j=2;则执行i*=j+8;后i的值为28。() 15、若int x=100,y=200;则语句printf("%d",(x,y));输出结果为100。() 16、c语言中的标识符只能由字母,数字和下划线三种字符组成。() 17、函数getchar()的作用是:输出一个字符。() 18、一个C语言程序总是从第一个函数开始执行。() 19、在c语言中,char型数据在内存中是以ASCII码形式存储的。() 20、在C语言中switch语句必须使用break语句。() 二、选择题 1、以下说法正确的是()。 A、C语言程序总是从第一个函数开始执行。 B、C语言程序中要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。

C语言程序设计阅读程序题库及答案

阅读程序题 【2.1】以下程序的输出结果是。 main(D ) { float a; printf("%g",a); } A) 0.00000e+00 B) 0.0 C) 1.00000e-07 D) 0 【2.2】下面程序的输出结果是B____。 #include main( ) { int x=10; { int x=20; printf ("%d,", x); } printf("%d\n", x); } A) 10,20 B) 20,10 C) 10,10 D) 20,20 【2.3】以下程序的输出结果是___B_。 main()

{ unsigned int n; int i=-521; n=i; printf("n=%u\n",n); }//变量i中的负号传送给变量n后,因n是无符号数,已不作为负号处理。 【2.4】以下程序的输出结果是。 main(D ) { int x=10, y=10; printf("%d %d\n", x――, ――y); } A) 10 10 B) 9 9 C) 9 10 D) 10 9 【2.5】以下程序的输出结果是___B。 main() { int n=1; printf("%d %d %d\n",n,n++,n--); } // C语言在执行printf()时,对函数中的表达式表列的处理顺序是从后向前,即先处理n- -,再处理n++,最后处理n, A) 1 1 1 B) 1 0 1 C) 1 1 0 D) 1 2 1 【2.6】以下程序的输出结果是____。 main() { int x=0x02ff,y=0x0ff00;

c++程序计时

C++运行时间的代码 如何获取代码运行时间在调试中,经常需要计算某一段代码的执行时间,下面给出两种常用的方式: 第一种:使用GetTickCount函数 #include #include int main() { DWORD start_time=GetTickCount(); { //此处为被测试代码} DWORD end_time=GetTickCount(); cout<<"The run time is:"<<(end_time-start_time)<<"ms!"< #include int main() { clock_t start_time=clock(); { //被测试代码} clock_t end_time=clock(); cout<< "Running time is: "<(end_time-start_time)/CLOCKS_PER_SEC*1000<<"ms"<

《C语言程序设计》练习题

《C程序设计》练习题 一、单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。(注:选用普通整型数据占用2个字节的c编译器。如Turbo C 2.0 、Win-TC、Turbo C++ 3.0) 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) iam C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodbs tart$it line# pow ??? aBc 3pai His.age while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型(长度为2字节)的常数是。 A) 32768 B) 0 C) 037 D) 0xAF 【1.9】执行语句printf("%x", -1); (int类型长度为2字节)屏幕显示____。 A) -1 B) 1 C) -ffff D) ffff 【1.10】已知long i=32768; 执行语句printf("%d", i); 屏幕显示____。 A) -1 B) -32768 C) 1 D) 32768 【1.11】已知long i=65539; 执行语句printf("%d", i); 屏幕显示____。 A) 65539 B) -3 C) 3 D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。

c语言程序设计题目及答案

一、程序设计共113 题第1 题题 号:319 #include "stdio.h" void wwjt(); int fun(int m) { int i,k=1; if(m<=1) k=0; for(i=2;i #include #define M 3 #define N 4 void wwjt(); void fun(int tt[M][N],int pp[N]) { int i,j; for(j=0;jpp[j]) pp[j]=tt[i][j]; } 第3 题题号:375 功能:从键盘上输入任意实数, 求出其所对应的函数值。 z=e 的x 次幂( x>10) z=log(x+3) (x>-3) z=sin(x)/((cos(x)+4) #include #include void wwjt(); double y(float x) { double z; if(x>10) z=exp(x); else if(x>-3) z=log(x+3); else z=sin(x)/(cos(x)+4); return(z); } 第4 题题号:334 功能:求给定正整数n 以内的素数之积。( n<28) #include #include"conio.h" void wwjt(); long fun(int n) { long i,k; long s=1; for(i=2;i<=n;i++) {for(k=2;k #include"conio.h" void wwjt(); long int fun(int n) { long s=1,i; for(i=2;i<=n;i++) if(n%i==0)s=s*i; return s; } 第6 题题号:50 功能:求出菲波那契数列的前一项与后一项之比的极限的 近似值例如:当误差为0.0001 时,函数值为0.618056 。 #include #include "math.h" void wwjt(); float fun() { float f1=1,f2=1,f3; float r1=2,r2; do {r2=r1; r1=f1/f2; f3=f1+f2; f1=f2; f2=f3; }while(fabs(r1-r2)>1e-4); return r1; } 第7 题题号:394 功能:产生20个[30,120] 上的随机整数放入二维数组 a[5][4] 中, 求其中的最小值。 #include "stdlib.h" #include void wwjt(); int amin(int a[5][4]) { int i,j,s; s=a[0][0];

vc++获取系统时间和程序运行时间

内容: Q:如何获取时间?精度如何? A: 1 使用time_t time( time_t * timer ) 精确到秒 计算时间差使用double difftime( time_t timer1, time_t timer0 ) 2 使用clock_t clock() 得到的是CPU时间精确到1/CLOCKS_PER_SEC秒 3 使用DWORD GetTickCount() 得到的是系统运行的时间精确到毫秒 4 如果使用MFC的CTime类,可以用CTime::GetCurrentTime() 精确到秒 5 要获取高精度时间,可以使用 BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency)获取系统的计数器的频率 BOOL QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount)获取计数器的值 然后用两次计数器的差除以Frequency就得到时间。 6 还有David的文章中提到的方法: Multimedia Timer Functions The following functions are used with multimedia timers. timeBeginPeriod/timeEndPeriod/timeGetDevCaps/timeGetSystemTime timeGetTime/timeKillEvent/TimeProc/timeSetEvent 精度很高 Q:GetTickCount()函数,说是毫秒记数,是真的吗,还是精确到55毫秒? A: GetTickCount()和GetCurrentTime()都只精确到55ms(1个tick就是55ms)。如果要精确到毫秒,应该使用timeGetTime函数或QueryPerformanceCounter函数。具体例子可以参考QA001022 "VC++中使用高精度定时器"、QA001813 "如何在Windows实现准确的定时"和QA004842 "timeGetTime函数延时不准"。 Q:vc++怎样获取系统时间,返回值是什么类型的变量呢? GetSystemTime返回的是格林威志标准时间 GetLocalTime,和上面用法一样,返回的是你所在地区的时间,中国返回的是北京时间VOID GetSystemTime( LPSYSTEMTIME lpSystemTime // address of system time structure ); 函数就可以获得了,其中LPSYSTEMTIME 是个结构体 含:年,月,日,周几,小时,分,秒,毫秒。 以下是Time的MSDN文档: Compatibility in the Introduction. Libraries LIBC.LIBSingle thread static library, retail versionLIBCMT.LIBMultithread static library, retail versionMSVCRT.LIBImport library for MSVCRT.DLL, retail version Return Value time returns the time in elapsed seconds. There is no error return. Parameter timer Storage location for time Remarks

C语言编程题练习

1.编程求出1000到3000之间能被7、11、17同时整除的整数的平均值,并输出(结果保留两位小数)。 2.用选择结构的嵌套实现:判断一个数是否同时是5和7的倍数 3.在给定的含n(不超过100)个整数的数组中查找某个数m,若找到则打印在数组中第几个元素,若 不在该数组中则打印“无此数”。 4.编程判断输入的正整数是否既是5又是7的整倍数。若是,输出yes,否则输出no。 5.歌唱比赛有10个评委,分别给出1~100分,除去一个最高分,再除去一个最低分,剩余8个人的给 分的平均值作为选手的最终得分。请编写该程序。 6.输入一个正整数n(1

C语言程序设计试题及答案

C语言程序设计试题及 答案 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是() A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是() A、abc B、12AC C、sun D、 A2 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是() A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是() A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是() A、% B、/ C、%和/ D、 + 6、以下关于运算符的优先顺序的描述正确的是() A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是() sum=pad=5;pAd=sum++,pAd++,++pAd;

printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是() A、 INPUT x、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、 scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:() void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是() main( ) { int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、 0 B、 22 C、 12 D、10 11、C语言中while和do-while循环的主要区别()

Qt系统运行时间差计算

Qt系统运行时间差计算 在网上查了很多资料,发觉网上很多用Qt写的系统运行时间差的例子写的都不是很全,今天自己研究了一下,可以成功得显示日时分秒,觉得不错,就与大家分享了 #include #include #include int main(int argc,char*argv[]) { QCoreApplication a(argc,argv); QDateTime now=QDateTime::currentDateTime(); QDateTime Moon_Festival; QDateTime xmas(QDate(now.date().year(),7,26),QTime(0,0)); //QDate(now.date().year()取当前的年分,可以自己设置,比如2012 Moon_Festival=xmas; //这里最大计数为天 //这里涉及到两个函数daysTo()和SecsTo(),他们分别返回差值的天数和秒数,如果有朋友需要精确到毫秒的,QDateTime还提供了一个msecsTo() qDebug()<start(1000);//设置更新时间间隔 timeFlag=1; } }

C语言程序设计-----阅读程序题库及答案

C语言程序设计-----阅读程序题库及答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

阅读程序题 【】以下程序的输出结果是。 main(D ) { float a; printf("%g",a); } A) +00 B) C) D) 0 【】下面程序的输出结果是B____。 #include <> main( ) { int x=10; { int x=20; printf ("%d,", x);

} printf("%d\n", x); } A) 10,20 B) 20,10 C) 10,10 D) 20,20 【】以下程序的输出结果是___B_。 main() { unsigned int n; int i=-521; n=i; printf("n=%u\n",n); }s",s); } A) a book! B) a book!<四个空格》 C) a bo D) 格式描述错误,输出不确定

【】下面程序的输出结果是____。 main() { int a,b; scanf("%2d%3d",&a,&b); printf("a=%d b=%d\n",a,b); } A) a=12 b=34 B) a=123 b=45 C) a=12 b=345 D) 语句右错误 【】以下程序段的输出结果是。 int a=10,b=50,c=30; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);

A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50 【】以下程序的输出结果是。 main() { int a=0,b=1,c=0,d=20; if(a) d=d-10; else if(!b) if(!c) d=15; else d=25; printf("d=%d\n",d); } A) d=10 B) d=15 C) d=20 D) d=25 【】下面程序的输出结果为。 main()

C语言程序设计习题大全(附答案)

C语言基础一: 1.下列四组选项中,均不是C语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x <<02>>B>>2 3.下面四个选项中,均是不合法的转义符的选项是( B )。 A) '\"' B) '\1011' C) '\011' D) '\abc' '\\' '\' '\f' '\101' 'xf' '\A' '\}' 'x1f' 4.下面不正确的字符串常量是( A )。 A)'abc' B)"12'12" C)"0" D)" " 5.以下选项中不合法的用户标识符是( A )。 A)abc.c B)file C)Main D)PRINT 6.C语言提供的合法关键字是( D )。 A) swith B) cher C) Case ).Default 7.下列标识符组中,合法的用户标识符为 A A)_0123与ssiped B)del-word与signed C)list与*jer D) keep%与wind 8.在C语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值0 C)非另整型值D) T 9若有以下定义 char s='\092'; 则该语句( B ) A)使s的值包含一个字符B)定义不合法,s的值不确定 C)使s的值包含4个字符D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。 A)1 B)2 C)8 D)4 11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。 A)D B)68 C)不确定的值D)C 12逻辑运算符两侧运算对象的数据类型是( D )。 A) 只是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据D) 可以是任何合法的类型数据 13TURBO C中int类型变量所占字节数是( B )。

C语言程序设计各章练习题

《C 语言程序设计》各章练习题 2016年12月汇编 第1-3章 C 语言基础、编程规范、顺序结构程序设计 编程题1:设a 和b 均为int 型变量,编写一个程序,通过键盘读入a,b 的值,然后交换a,b 的值。要求屏幕显示“输入2个整数,用空格隔开”的提示语句,并且输出交换前a,b 的值,交换后a,b 的值。 附加要求:(1)允许定义第3个变量,实现交换; (2)不允许定义第3个变量,实现交换。 第4章选择结构程序设计 编程题2:根据下列函数关系写程序,要求提示输入x 的值,输出y 的值。 ??????? >=<+-=0 02 0212x x x x x y 编程题2:根据下列函数关系写程序,要求提示输入x 的值,输出y 的值。 ?? ???>≤≤--<=0 022 22x x x x x y 编程题3:求 ax 2+bx+c=0方程的解。(只输出b 2-4ac>=0的求解结果,小于0,输出“不予求解!”) 第5章 循环结构程序设计 编程题4:编程计算∑=n i i 1。要求提示键盘输入n ,如n 为负数,不予计算,直接返回。 编程题5:编程序计算n !,要求n 从键盘输入,如n 小于0,不予计算。 编程题6:从键盘输入一个数n ,判断n 是否是素数。 编程题6:编写程序输出1~100之间的偶数,要求屏幕显示时5个偶数一行,每个数占5位,右对齐。 编程题7:编程计算100到1000之间有多少个数其各位数字之和是5,并将其输出。 编程题8:求满足下列条件的三位数n ,它除以11(整数相除)所得到的商等于n 的各位数字的平方和,且其中至少有二位数字相同的数。 编程题9:有一些十进制整数对ab 和cd 具有如下特性:ab×cd=ba×dc ,其中a≠b 且c≠d 。如:12×42=21×24。请编程找出30~50之间满足上述等式所有m ,n 值,并按上述等式的格式输

相关主题
文本预览
相关文档 最新文档